I clean mine whenever I notice that the flow rate is significantly lower. If you have a lot of gravel/sand sifting fish this will probably be more often because they turn over the gravel a lot making gravel/sand cleaning easier, but it is more work on you filter. For instance on my tank that I have tinfoils and 1 giant goldfish in I have to clean the filter out about every 2-3 months, but for my other tanks it is more like 4-5 months.
If you want to keep up on your carbon though you should probably do it more often since the carbon gets "used" up.