my carpets are very dirty.
Professional cleaners have better equipment and will do a little better job (generally). If you do it yourself, you will save a lot of money, and it will be just about as good as a professional if you follow the directions. You might try doing it yourself, and if it is still dirty, hire a professional.
i always go for the professional cleaning. By the time I drive to the rental place and get the machine, do the cleaning, then drive to the store and back again, I've spent more than half a day to do an inferior cleaning job. The pros can do the same thing in the time it takes me to make one trip to the store and back. Especially true if the carpet is really dirty. If you get a service with a truck mounted machine, they have so much more suction that they can do a better job, and the carpets dry faster too.
If the professional guarantees to get your carpets cleaned, it might be wroth it. It has been my experience, that they come in and go over the room once, and that's all you get. They do spot treat stains. We do it our selves, and we can keep going until the used water is not black, more of a khaki color. I know I have removed mos of the dirt when the water is just a little discolored and doesn't have actual dirt in it. Carpets are filthy, and collect everything that walks int he door. I also have a family member who uses a power wheel chair, and that thing isn't clean either. Mats at the door ill collect most of the dirt that comes in, but they are slippery for W/c's so I can't use them. :-( I use Bissell's carpet shampoo, as it has removed things that Rug Doctor shampoo missed, and I thought were permanent stains.