While I can't offer any recommendations on a particular company as my guy passed away several years ago, I can tell you that the manufacturers state carpet should be steam cleaned at least once every 18 months.
Steam cleaning helps restore the fibers and prolongs the life of the carpet. The problem with most steam cleaning outfits is that they don't have the proper water temperature at the end of the nozzle.
140F at the nozzle is the spec.
The problem with the shampooers is soap residue left behind. While they may do a great job of spot cleaning you should still have a qualified pro come in every couple of years. Soap residue will actually attract dirt.
Dry-Chem type cleaning can leave piles of powder in your carpet and unless you have a high dollar vacuum it will stay there. Again, steam cleaning by a qualified pro is recommended.
Carpet 101 is now dismissed.

_________________
BenchWarmer Motorsports
another one of those damn LeMons heads
just another Chump
we are an Autocross Club Dammit............