What do a sheep, a cannon and an aircraft have in common? The answer is that they all – usually – use the same word whether they are in the singular or the plural. If you have one sheep and then you acquire a second sheep, you now have two sheep, not two “sheeps”.
Other words exhibit this strange behaviour too, often other sorts of animal. For example, bison, deer, moose, pike and swine all – usually – use the same word for their singular and their plural. So, strictly speaking, it would be incorrect to refer to several “bisons”, “deers”, “mooses”, “pikes” or “swines”.
I say “usually” because this rather illogical rule is quite commonly broken and more regular plural forms do creep in for some of these words. It’s actually quite common for people to refer to “cannons” for example. The Compact Oxford Dictionary says that the plural of cannon is only “usually the same” so that, in fact, “cannons” is more and more acceptable.
The process has gone further with other words. For both salmon and trout, for example, the OED now says that either form of plural is equally acceptable. You can say three salmon or three salmons, although many people would still find three salmon preferable. Similarly, the Merriam-Webster dictionary lists both deers and pikes as acceptable plural forms. The Compact Oxford Dictionary, meanwhile, still says that the correct plural for the word pike (meaning the type of fish) is pike. But, as if to illustrate how illogical this is, the plural of the word pike when it refers to the weapon is regular : pikes.
This is another area where there will be disagreement among writers. On the one hand, “two cannon” is strictly correct but, on the other hand, “two cannons” is now a common usage and one which is, after all, perfectly clear in its meaning.
Footnote : fish and fishes is an interesting case. Both the Oxford and the Merriam-Webster dictionaries say that the plural of fish can be either fish or fishes. In fact, the two plural words are often used to refer to different things. As the Oxford dictionary explains :
The normal plural of fish is fish, as in “he caught two huge fish”; however the older form fishes is still used when referring to different kinds of fish: “freshwater fishes of the British Isles”.
So you use fish when referring to more than one fish of the same type and fishes when referring to multiple fish of different types.