The quick easy answer is about once a year...minimum. Most carpet manufactures recommend every 9-15 months depending on the amount of traffic.
My professional answer to my customers is even easier... And that is when they are dirty. If that means every 12 months then great. If it means every 6 months then great. I personally clean mine about every 4 months.
Here is the problem though. Since cleaning your carpet is typically an expense the you would rather not have to pay for (especially for men), it seems to get pushed off way to long. In most cases that we see, people usually wait way to long before cleaning their carpets. Because they think that if it doesn't look real dirty then it isn't dirty. That's not the case, most of the dirt and soil that are the most damaging to your carpets are deeper down in and hard to see. However, this small bits of soil and dirt are like little pieces of glass that scratch and damage the carpet if not cleaned frequently. Over time, these little scratches will eventually start to break down the fiber making them look old, matted and dingy even after they have been thoroughly cleaned.
That is why for ideal maintenance you should clean your carpets at least once a year, or even more often in heavy traffic areas.
p.s. Also, don't forget to save up a few dollars extra for carpet protector. This is a vital part of keeping your carpet in peak condition.
To find out how often you should have your carpet cleaned by professionals, think about the traffic your floors obtain and who is providing the traffic. The greater average differs from home to home; from as much as every six months to more than 2 yrs. Think about your standards of clean, foot (or paw) traffic, and your price range to help you figure out how often you should have your carpet professionally cleaned.
Write something about yourself. No need to be fancy, just an overview.