diatoms are a type of phytoplankton that lives in a silica shell and feeds on phosphorus and nitrogen. Light doesn't play as much of a role as nutrients. As the diatoms die, the shell decomposes and creates more silica to start the circle of life over again, as long as there are nitrients available. The silica can come from a number of sources in an aquarium. Substrate, rocks, new tank silicone, etc. Other than introducing a new fish, I've found the best way to get rid of it is regular water changes, wiping it off of your plants and vaccumming it out in order to remove any shells, and also a phosphate removing filter media works wonders because if they can't eat, they can't reproduce. Then it's just a matter of time to get all the silica out through water changes.
for more info, take a look here:
http://en.wikipedia.org/wiki/Diatom
for more info, take a look here:
http://en.wikipedia.org/wiki/Diatom