Color enhancement in food is primarilly based on the amount of protien in the diet. Keritine is also sometimes used to enhance red colors (it's the same pigment that makes a carrot orange and that will turn your skin orange if you eat too many carrots). The more protien the fish has, usually the brighter the color.
Also good water quality is the key. Certain fish like discus and African cichlids will fade the instant their water quality sucks for them.
Color of background is another affect on fish color that people don't realize. On light backgrounds, with light color gravels, the fish will brighten and wash out, a defense mechanism to make them blend into their surroundings. On dark backgrounds, such as black gravel, the fish will also turn dark and muddy, sometimes turning black, to blend in. The key is to use nutral color surroundings, and I find the color of fish seem best under natrual color backgrounds (neutral natural color gravels and green plants).
The health of the fish can determine color. An unhealthy fish will certainly be off color. Also, the phisological state of the fish will determine color. Fish like Rainbows only display their bright, brilliant colors, when showing off to breed. Dominate fish will be brighter and more bold in color. If you're trying to brighten up a betta, put a mirror in front of his tank for about 15-20 minutes a day and let him flare at it. Then remove the mirror. What you are doing is presenting your betta with a rival male, and when you remove the mirror, your betta can be tricked into thinking he drove the rival away. This will give him a "superiority complex" and might trick him into brightening his colors as a victorious, dominate fish will.
~~Colesea