Fish is certainly the most common and arguably correct plural of the word "fish". However, "fishes" is an archaic plural form, and is apparently also used in some situations which I will go on to explain.
An example of the archaic use of "fishes" as plural is the biblical account of a miracle involving "five loaves and two fishes". Actually modern English translations of this use "fish" as the plural, but people of a certain age were taught this in school from the King James version (1611) and as a result many people still refer to this as the miracle involving "five loaves and two fishes"! This idiom may even have been passed on to younger generations.
The collective term for fish is a school, or shoal. You would correctly refer to a school of fish - not "fishes".
However, I found this use of "fishes" as a plural in a scientific textbook from 1968. The book is even titled "Deep Water Fishes of California"!
Unless a marine biologist here can advise otherwise, it would seem that it is also acceptable to use fishes when referring to more than one type of fish, although it should equally be correct to say "different types of fish".