It's really difficult to say that one thing is a good diet for fish since the nutrition requirements of each species can differ greatly.
As mentioned, you don't want a lot of protein for goldfish, but you want much more for more carnivorous species. Tilapia can be raised completely on mixed plant protein, but this would be a huge issue for hydrolycus. Sturgeon can be fed diets without fish meal (experimental at this point) by having meat, bone, blood, and feather meal - but other fish cannot. They can also effectively use casein (found in mammalian milk) as a protein source. However, unlike many other species they cannot effectively utilize crystalline amino acids.
Also young fish require more protein than older fish. An adult sturgeon should eat around 45% protein but a juvenile needs over 50%. Younger fish need to grow more muscle and viscera than older fish.
And then you have freshwater vs. saltwater. Freshwater fish have fewer requirements for amino acids as they can desaturate and elongate a few certain essential amino acids to create others. Saltwater fish cannot, so they need to obtain them from the diet. It's always better to feed saltwater diets to freshwater fish than the other way around.
To summarize, it is too difficult to analyze a given diet for all fish. If we can talk about one species or taxon of fish then we can get somewhere!