I highly recommend Biokleen, Bac-Out, Stain and Odor Remover. Worked really well. Removed mild stains with little effort. The deeper stains required a little scrub, just a little more attention, but removed the stains. The smell is mild and didn't effect me at all, as I am sensitive to smells and products. When dried the carpet did not have any smell. I will buying again for sure.
It did remove the odour, but replaced it with its own when dried on my upholstery. However when used to soak clothing prior to washing, it worked wonders in removing unwanted odours. I am not sure about stains yet as I have yet to use it on stains.