I have been cleaning my own carpets for years. I use to rent the "Rug Doctor" from Home Depot or Lowes and thought it did ok. What I didn't like is that for every gallon of cleaner you put down, you barely got half of it up with the suction. Yes the water was very dirty, but half of it was still in the carpet. I did research on Consumer Reports and they recommended this model:
Hoover MaxExtract Dual V Carpet Cleaner, Black, F7412900: Amazon.com: Home & Kitchen
It was priced good on Amazon so I got it. It basically does what I need. The most important part of the system is that it has a very powerful and efficient suction system that pull almost all the liquid back out of the carpet, perhaps 75-80%. The Rug doctor would leave so much liquid in the carpets, they would take 24 hours to dry. This Hoover seems to dry in a few hours. It has a self mixing cleaner solution so you don't have to premix the cleaning solution, just add hot water. Disadvantages are that it gets tedious emptying and refilling the solutions. I would say 2-3 passes in a medium sized room and you are emptying. It is great for spot stains, footprints, animal issues, and any areas that you want to clean quickly. I have found that most carpets just need the used area's clean and the days of lifting all the furniture and doing the entire room are less frequent.