I am trying to find out why sheep has the plural sheep. I have found different explanations, such as, "it is because they were seen as uncountable, as in 'a herd of sheep'", "because it comes from German, which does not have the plural 's'" and that it is because it is a neutral Old English noun which does not change in the plural. Does anyone have the right explanation?
It is true that "sheep" comes from an Old English word that is the same in the (nominative and accusative) plural as it is in the (nominative and accusative) singular.
But this isn't the reason why "sheep" is the plural form in modern English - or if it is, it's only a small part of the explanation.
Some Old English neuters have (nom & acc) plurals identical to their (nom & acc) singulars, others don't. For example, the OE word for "ship" is "scip" in the singular, "scipu" in the plural - whereas the word for "sheep" is "sceap" in both singular and plural. As has been pointed out, "sceap" would originally have had a plural "sceapu", but this had been almost entirely lost in OE.
However, to that I have to say "so what?" - because "house", "land", "thing", and "tree" are all words which were identical in their OE (nom & acc) singular to their OE (nom & acc) plurals - respectively, "hus", "land", "þing", and "treow".
(And it's not as though the plural suffix of the word "ships" bears any resemblance to the "-u" of "scipu", either, does it?)
So, an invariant plural in OE rarely leads to an invariant plural in modern English. (And yes, "hus", "land", "þing", "treow" are all neuter, too, just as "sceap" is.)
One other thing that "sheep" and "deer" have in common, apart from being OE neuters with invariant plurals, though, is that both terms describe animals, and there's a certain tendency to have invariant plurals for certain animals, especially those normally found in herds. Of course, there are many other animals to which this doesn't apply.
We could note that "elk" is very often used as the plural of "elk" (although a regular plural "elks" exists), despite the fact "elk" was an OE masculine with a regular plural ending "-s". "Antelope" is often (not always) used as a plural, and didn't exist in OE at all. "Buffalo" is often (not always) used as a plural, and didn't exist in OE, and has a regular plural in Spanish and Portuguese. Mari-Lou A points out that "fish" has long been used as a plural of itself: this usage was first attested c.1400; before then, and in OE, "fish" had had a regular plural (OE "fiscas") ("fishes" today is mainly used to denote multiple types of fish, at least in standard English).
Overall, then, the OE etymology is only a small part of the explanation.
Goose comes from an ancient Germanic word that underwent a process called "mutation" or "umlaut". When it was made plural, an /i/ or /j/ sound was added, causing the tongue to rise in preparation for making that sound, and changing the "oo" to "ee". Foot/feet and tooth/teeth show this same result. However, these changes took place thousands of years ago.
Moose is a Native American word, added to the word stock of the English language during the past four hundred years. By that time plurals were created in English simply by adding an -s or, in this case, when we are speaking of an animal used for food (deer/deer, sheep/sheep, fish/fish), no inflection at all in the plural.
This is only my assumption or theory. In German it is das Schaf (singular neuter) and die Schafe (plural). But in dialects the final e is dropped and the plural is "die Schaf". I suppose that in the dialects of Old Saxon and other dialects of Anglo-Saxon this tendency was the same. I assume that especially farmers used this kind of plural (without -s) and this habit of speaking was adopted in the standard language. The plural without -s, i.e. singular and plural have the same form, is found with names of animals in the language of farmers, fishermen and hunters, people who use simple and often reduced language.
I can't prove this theory, but as the above posts show there is uncertainty and there are several explanations that are not very convincing. So I think it is justified to come up with another hypothesis which has some degree of plausibility.
Now, after writing this post, I've looked up what Grimm says in DWB. My view is not quite right, though I'm not far off. Grimm says the plural of the Old High German word for sheep has the same form as the singular. Later, in Middle High German a plural with -e comes up. So it seems that English has conserved the older system, plural without any ending, so that singular and plural have the same form.