I tend to use just plain ole' carpet shampoo but one time I used Oxy-Gen (I think that's what it's called--blue bottle--by Bissel maybe...you add it to your carpet shampoo) and I loved it. It's just a little pricey so we don't buy it much.
Not sure about particular brands, but if you still have residue or smell after you clean--baking soda is a wunderkind for all kinds of smells, etc! You can get Arm&Hammer rug deoderizer stuff (with Pet Hair release too!) made just for pet odors and it comes in different scents. Sprinkle on the rug, let it sit, vacuum it up.
You can also just go with straight baking soda. I clean everything with it....my hair, my face, and dog-smelly rugs!
We used to use some stuff called "Nature's Miracle" I think. It was in a white bottle with a red lid. It smells really fruity and does the job wonders! We had to get it at the pet store (Petco/Petsmart). It's pretty pricey, but I love the smell of it and how well it works. We had problems with our dog peeing on the same spot because she didn't like the stuff we were using to clean it until we got this stuff.
Urine Gone is an excellent one for any biological stains. It has enzymes that eat the bad stuff out of the pee, poop or throw up. It does not always get all the yellow out, though. Were you guys saying that white vinegar will take out the yellow?