There was a general "decay" in inflectional endings in English during the Middle English period. Reasons could include sound changes that resulted in the vowels at the ends of words being levelled so that they were no longer pronounced differently (Baugh & Cable, A History of the English Language, 4th ed. p155). Also, because English was for a few centuries excluded from official use (while French was the prestigious language), this meant that the educated classes had less influence over the language and it became less conservative (ibid., p154). (I believe it has also been argued that the levelling may have begun during the period of English-Norse contact.)
One of the results was the loss of grammatical gender.
One point that the other answers haven't covered, however, is that the decline in grammatical gender isn't unique to English. Several other Germanic languages have seen a great simplification of gender systems. So while Proto-Germanic had three genders, and Old English and Old Norse (like modern German and modern Icelandic) also had three genders, standard Swedish and standard Danish today have only two genders; and the West Jutlandic dialect of Danish is said to have abandoned grammatical gender (for while it retains a distinction between t and n nouns, the distinction is now based solely on mass nouns versus count nouns). Some varieties of Dutch also distinguish only two genders. Similarly, whereas Latin had three genders, the Romance languages today have only two genders (with the possible exception of Romanian, which is sometimes argued to retain three). So actually what we've seen in English is part of a widespread tendency, which has simply gone further in English than in most other languages.