Fish eat a variety of food including plant life and other organisms such as macroinvertabrates, flies, worms, other fish and anything that may live in the fish's habitat. A trout in the wild will try to eat anything in the water at the time such as grasshoppers or even mice.
Fish diets are determined by which organisms are readily available in the fish's habitat. Some larger fish eat smaller fish and sometimes are cannibalistic, eating smaller fish of their own species. Catfish in the wild swim along the bottom of rivers and eat dead fish, animal feces and just about anything they can find.