There are lots of algae eating fish (and shrimp) but not all fish eat all types of algae. They also grow to different sizes so some are only suitable for large tanks. There are definitely some that you want to steer clear of depending on your tank and other inhabitants. Common plecos get very large, up to 24". Chinese algae eaters only eat algae when they're young and get very aggressive as they get older. They will try to suck the slime coat off other fish, especially flat-bodied, slow moving fish like angels and gouramis.
There's nothing wrong with buying an algae eater but if you have an algae problem, it is best to figure out what is causing it and fix the problem. It won't do much good to buy an AE and find out that it won't eat the type algae you have.