Once the major yuck is picked up, I like a couple of different products.
Oxyclean carpet spray (peroxide based) is good for acrylic or synthetic carpet, it's foamy and cleans up stains well. Of course, Nature's Miracle or similar spray is good for odor, I also like the spray called SCOE 10X ("Super Concentrated Odor Eliminator") we found it at the hardware store near the dish detergents, natural cleaners, etc.
If Gracie barfs on one of the good wool rugs I use lukewarm water, a little Murphy's Oil soap since it is very mild, and piles of clean towels to let the spot air out from underneath as well as from above.
(This topic makes me think of our first kitty, Nikki. She was a senior rescue CRF kitty, and in her last few months of life she did a lot of midnight hurling. Hubby and I got really practiced at flinging ourselves out of bed - from a dead sleep - as soon as we heard the "huk huk" sound...)