VINEGAR, VINEGAR, VINEGAR...is a great cleaner/disinfector. Use white vinegar, though. The dark one can stain. You can spot clean pet "marks" and other stains with vinegar directly, then use a cloth to soak up. Don't rub the carpet, put a towel over it, step on it to soak up the wet.
For carpet cleaner, add 1/4 cup to each time you fill the water trough.
I live in Galveston and our house was flooded by Ike. All of our clothes, blankets, towels, etc. that we left got wet. I was able to get them out and washed them. I used scoop of detergent, scoop of oxy-clean, and 2 cups of vinegar per load. My whites have never been whiter, stains came out, and the yucky stink in them was gone.
Vinegar is one of the best cleaners there is and it's not harmful to people or the environment.
Any carpet solution you use in a carpet cleaner or spot cleaning will leave a residue on the carpet. This residue will then attract dirt and soil. That is why lots of time you clean a stain with spot remover, then it just seems to come back again. The original stain doesn't actually "come back". It's the cleaner residue left on the carpet that all dirt/soil to sticking to.