I know that this was an old question but I just wanted to let you know what the professional carpet cleaner told me. I use a professional about once a year as we have allergies, and I ususally do it at the end of October right before the holiday cleaning rush kicks in. Anyway, I use my own Hoover Steamer to clean in between, and going with my pro cleaners instructions I do not use ANY cleaning soaps in my carpet cleaning process. I simply heat water to a hot but not boiling temperature. I fill the tank about 3/4 of the way with very hot water and the rest of the way with tap water at the cool but not cold temperature. I then "shampoo" my carpets using this very simple and cheap recipe. My carpets come clean and look great between pro cleanings and I have no problem with soap residue or reappearing stains. In between cleanings of either kind I am thorough about cleaning up any spills or pet stains that happen. I treat them as soon as I see them and then I spot clean the area using my carpet machine. My carpets are 10 years old and were not super high quality in the beginning and we are only just now thinking of replacing them with hardwood.
I know that my method may seem "weird" because no detergent is used but it works for us and our carpet look nice and our house does not smell.
Also when the pro cleaner comes we do all the high traffic areas, but the rooms we seldom use like formal living and dining areas only get done professionally about every 2nd year. This saves a lot of money.