Yeah it cleans out fine. When you use it for shampooing carpets normally, you take the bag out and the bit with the filter on it, and insert the bit that holds the clean water with the detergent in it. all the water gets sucked up the hose and into the reservoir where the bag usually is and when it's full you empty it. When I'm done I just suck up some clean water to get any grit out of the hose and then take it all apart to let it dry out. If I have done vomit, I will suck up some clean water with disinfectant to get the smell and germs out, empty the reservoir and then do it again and them leave to air out.