If you are going to buy a fish just so it will clean your tank, don't. That's cruel. You should buy fish because you want them, not because you 'need them to clean your tank'.
To clean your tank you will need a gravel vac, as Emily has stated. You can also used treatments such as 'Waste Control', which helps break down fish poo so it doesn't build up at the bottom of your tank. Cat fish, algae eaters, sucker fish etc, don't eat fish waste, they simply eat algae. Algae isn't harmful to your tank, just makes it look unpleasant if it builds up, but having algae doesn't make your tank dirty. It's water conditions and fish poo that do, and to clean those you will have to do it your self with water changes and gravel cleans using the gravel vac. Bristlenose pleco's will assist only in keeping your algae bloom down to a minimum on the walls and floor of the aquarium, they aren't much good at cleaning the ornaments. They are also very, very slow workers, but very effective as they will clean the one spot until it's spotless. Faster workers are cory's, they clean the floor and ornaments, and thrive in schools but are fine on their own. Both types of algae eaters need at minimum of 15 gallons of water to themselves, so if you tank is less then 20 gallons with other fish I wouldn't recommend getting either of them. Pleco's can get to be very big, averaging about 6 inches (not 3 like someone said) at adult size for Bristlenose's, and for other such as common pleco's, they get can to be over 30cms long and very wide.
These algae can't survive on just eating algae either, you need to feed them algae tabs, or veg pallets, and boiled and crushed up green vegetables such as broccoli, zucchini, peas, beans etc.