I have found that the best way to keep the carpets clean is with Genesis 950. The first reason I say this is because you have said you tried other cleaners that did not really work. Genesis 950 will work. It is completely different then other cleaners. It works with water to break down the stains by absorbing into them and then weakening them. Once they have been treated with Genesis 950 they will break apart and lift from the carpet.
On top of that, it also deodorizes and kills any germs and bacteria so that it is doing more then just cleaning. If you have pets this is really helpful as you know your carpets are more then just visually clean. It is also a "green" cleaner, so it is safe without any hash chemicals or toxins.
If you do decide to steam clean, definitely use the 950 in a cleaner. It makes your carpets look like new. I have had professional cleaners come in. I feel like they are just getting the carpet and wet, and not really doing anything. The 950 really cleans - a deep down amazing clean.
It's cheap too - super cheap. You can get a quart for $14.50. It's a concentrate, so when you actually dilute it the proper way you end up getting 9 quarts in one bottle - which breaks down to you really spending like $1.61 per quart.
Best cleaning product out there and it is the beat way to clean carpets without hiring a professional.