One excuse I've heard for our losing the case endings in English was that the interaction of Old English with Old Norse in the days of the Danelaw saw the meeting of similar roots with significantly different case endings. The easiest thing for speakers of Old English and speakers of Old Norse to do was to drop the case endings and substitute something else, in this case word order.

I don't know how well this theory holds up in the face of the same thing happening in most of the major Romance languages.