I just did some research on this subject for myself. I came to the conclusion that I could buy one for under $250 that cleaned at least as well as one I could rent from a hardware or grocery store. Hiring a professional probably gets the carpets the cleanest but that option is very expensive. So, I bought one. I got the Bissel Deep Cleaner Pet. I got it at Best Buy where they matched the lowest price I could find online and threw in a bottle of shampoo.

I have cleaned one really yucky room with it and I am really impressed. This weekend I plan on doing a couple more rooms. I'll let you know if I am disappointed. I don't think I will be.
Oh, I chose to buy because it's 50 bucks everytime I want to rent one. And it's more convenient to pull it out of the closet than to run into town and run back to return it.