A 'fish' is a bad or weak poker player - someone you would like to have sitting at your poker table.
There is a famous poker expression 'Don't tap on the aquarium' (because you will disturb the fish!)
In other words, if you recognise a particularly weak player when you are playing poker, do not let them know that you think they are weak as they may tighten up their game.
Back to the question of which poker companies have most fish, I think it's more of a marketing ploy to get players playing with a company by advertising the fact that have many 'fish' at their tables. I think most sites have their fair share of good, average and poor poker players. If you find a site that you are making money out of, the best thing to do is to keep the information to yourself!