I'd like to start by saying this is my experience, and it's different for everyone.
People often don't think about or even discount how completely different carpets and rugs can be. Also that there's a difference between a family lived in a small apartment for several years and never cleaned the carpets versus a single person or a couple (or even a family) who routinely vacuums and cleans their carpets/rugs.
There's a big difference between "well, the carpet was *so* bad that I figured if it doesn't get clean I'll replace it", which responds *very* well to tons of water and steam followed by a vacuum so strong that most people will never have that in their homes, and honestly if it gets ruined by the water it needed replacing anyway, contrasted to someone who has always kept their home clean and it maybe it doesn't even *need* any deep cleaning at all.
With all of that in mind, here's my situation so you can compare with yours. My first floor has ceramic floor in the kitchen and bathroom, hardwood everywhere else.
Stairs have the same carpet that upstairs has.
Upstairs we have a full bathroom with ceramic floor, the rest is bedrooms, office and hallway which have wall to wall carpet.
Positive sides: no one has dropped food or drinks on the carpet, because they don't eat upstairs.
Negative sides: I don't know what the carpet is made from, but it's a very common carpeting in this area, probably polypropylene or similar, medium pile. It's about 15 years old now, and it has not so much worn out, but ugglied out if that makes any sense to you. The pile gets easily matted and ugly and it holds an awful lot of dirt. The material doesn't stain easily and it's relatively easy to clean compared to some other carpets, although it's not nearly as easy to clean and/or remove stains as carpets made from SmartStrand (DuPont Sorona, also known as Triexta). It also generates a ton of static electricity during the dry season. I want to replace all of it with SmartStrand as soon as I can.
So, my experience with foams (mostly spot cleaning, with sprays like Resolve or Woolite among others) was that it doesn't work very well and may make the stain spread to the lower parts of the yarn and reappear later. Have not tried products like the Electrolux "polisher" like my mom used to have.
I used a Hoover "steam cleaner" (made back in 1997 or so, the one with rotating brushes), and it cleaned OK, but the thing is, it was a lot of work and time, and then it took 2-3 hours to dry and then you vacuum again.
What I started using in 2012 or so (maybe 2010?, hard to remember) was the dry powder. I bought the Sebo duo Brush machine, and tried their system (duo-P). I liked it much better than other stuff I've tried before and I abandoned the other systems. The powder is fast and easy to apply/brush, you only need to wait about 30 minutes for it to dry completely, and it's easy to vacuum. Another thing I like is that the room doesn't go out of commission because you are cleaning, it's safe to walk on and have pets walk on the room, for example. It does remove stains really well, but it's kinda on the expensive side.
I've also tried the Capture system (
www.captureclean.com), which has sprays you apply before applying the powder if you need help with stain removing. It's easy to find in my area, and relatively inexpensive, I really liked it.
Once, out of curiosity, I've also tried the Host dry powder system (
www.hostdry.com) -- their system also has sprays to pre-spot, but the "powder" is more like sawdust that has more moisture than the previous two systems. It works well, but it's harder to find in my area and I didn't like it as much as the other two, so I only tried it once.
I really liked the dry systems -- it doesn't seem to spread the stains as much as the wetter systems, and no stain has ever reappeared after being removed. It's also so quick and easy. Oh, and applying and vacuuming the powder on the stair steps is *much* easier than the shampoo methods.
My suggestion, when you are using dry powder is to wait until it's actually dry and then vacuum first with a bagless machine to remove most of the powder, because then you can just discard the powder in the garbage. Then you can vacuum with a bagged machine and remove the rest. This will avoid spending money on several bags every time you clean the carpets.
Good luck!