I have a 10 gallon hard water guppy tank with a java fern, cryptocorns, and hornwort. Thus, the information on this page is mainly relevant to aquaria. Ramshorn snails, for example, may get along fine with large tough pond plants, but they did not mix with mine.
This golden ramshorn snail was about 3cm in diameter. He didn't seem to eat any algae, but he loved to munch on my java fern, especially tender new foliage. He didn't do too much damage to my cryptocorns or my hornwort, but I only kept him for 5 days.
Nerites are great snails. They eat plenty of algae (even that unappetizing maroon stuff) and they won't bother your plants. Unfortunately they lay these unattractive little white eggs all over your aquarium. I have to use a razor blade to scrape then off the glass.
Japonica shrimp do a great job of eating hair algae. They're also fun to watch (my mother loves them). They won't bother your plants or your fish (even baby guppies). I highly recommend them.