Why is there so much diversity in how English nouns are pluralized?
Where did English get all its plural forms? Why are there so many nouns that are outside the rules?
Most nouns get an "s" when pluralized: Pass me a cup. The store has a sale on cups!
Some nouns don't change when pluralized: Check out that deer! Look at that herd of deer!
Some nouns have their own special plural forms: Let's eat a goose! I was chased away by a gaggle of geese!
Then you get some Latin plural forms thrown in for good measure...
What gives?
Solution 1:
This is all down to the fact that English is a language of acutely mongrel lineage. It has substantive roots in Celtic, Romance and Germanic languages (to name a few) and a grammar that lends itself well to the adoption of "loan words" (non-native words adopted into the native tongue.)
The "standard" means of pluralising a noun is to append -s, with some conventional variations (eg -f becomes -ves, -y becomes -ies) for convenience in spelling and pronunciation.
However latin-based words tend to pluralise in the latin fashion, so for example bacterium becomes bacteria, and cactus becomes cacti. Similarly greek-based words will adopt the equivalent pluralisation appropriate for the original root.
Still other words of Saxon or earlier origin have lovely, earthy plurals that defy the "conventions" due to their traditional forms being maintained. Geese, Mice and Children owe their unusual conjugations to their ancient roots, and to the fact that they are common words whose everyday repetition keeps them from slipping into bland conformity.
In my experience, words which do not pluralise are those which relate to herding, hunting and the counting of animals. These words tend to be saxon (germanic) or celtic in origin owing to the presence of farming and hunting in Britain long before the Norman invasion. This can be inferred by the fact that sheep, cattle and game do not pluralise, while whales, sparrows and elephants (seldom hunted or farmed in Britain!) definitely do.
I suspect these tend to be a contraction of the traditional counting forms for such cases ("head" of cattle, "brace" of partridge, "shoal" of fish) but this doesn't really answer the question of why such plurals take the same form as the singular. It could be that when counted in such a way, the animals being counted were considered an uncountable, continuous quantity (similar to water or money) that could only be "counted" when quantified with their associated counter, so cattle would be rendered an uncountable noun by its quantifying counter head. It's interesting however to note that bird pluralises to birds, while aircraft does not pluralise.
Sadly for the non-native speaker, this makes learning the "rules" of English an arbitrary and frustrating affair. However, spare a thought for the Japanese, who do not have plurals for any but a few unique nouns, and must instead learn a separate counting-suffix and corresponding character (kanji) for almost every class of noun imagineable. There are in fact entire volumes of the things, and it would be nigh-on impossible for any person to learn them all. Wikipedia lists a choice selection.
Solution 2:
PyroTyger's answer is a good one, but there are some bits to add. Most older Indo-European languages have several different ways of forming plurals, because they have several different noun classes (known as 'declensions'). These have often been significantly reduced in modern languages, but German for example still has several different ways of producing plurals, and Welsh has lots.
The relevance of this is that Anglo-Saxon (Old English) had several different schemes. In a way the spread of '-s' (apparently from French) has simplified the inherited system, as there are rather few words that continue the inherited AS plurals.