The problem with your carpet is unlikely to be a problem with the carpet itself. Afterall if you cleaned the carpet and never walked on it again would it get dirty again? It is probibly getting dirty quickly for a couple of reasons.
1, you are introducing dirt to the area regularly, this can be prevented by removing shoes, not dropping food and drink etc.. and vacuuming every other day.
2, When you clean the carpet you are leaving detergent residues in the carpet. When a carpet is left with a lot of residues it will attract soils like a sponge. You may have this problem if you are using too much detergent or if you are not using a product designed for carpet cleaning ie washing up liquid or Daz. You may also be over wetting the carpet and not extracting enough of the moisture out. This will cause any soils left in the carpet to wick up to the surface as it drys. You can prevent all of this by having your carpet professionally cleaned at least every 12 months. A true professional will understand these issues and will be able to prevent them. The cheapest bloke will quite likely make the situation worse.
If you do choose to get a new carpet a wool carpet will be less forgiving and some stains can be permanent unless you really understand spot and stain removal techniques. A modern stain resistant carpet is probibly your best bet... some can even be bleached!