We used to keep up with the CU's. Approximately 1 month after release we would apply them whether we were experiencing an issue corrected by them or not.
However, after we ran into a huge problem we stopped this practice. In our case a service pack we had installed fixed a problem with full-text indexing that we were experiencing. A few months later, one of the CUs rolled back that particular fix. This caused all sorts of issues for us that took quite a bit of research to figure out what happened. We ended up coding a work around which was then later screwed up when a new CU broke something else... Net result: server re installed from the ground up to a particular SP/CU level and frozen.
Our application performance is such that we're not concerned with any new SQL performance enhancements that might come out, so that's a non-issue. Also, the reporting and other queries are consistently pulling back valid results so any new tweaks are unnecessary. Which means that it has to be a security issue before we consider applying a CU at this time.
I completely agree with Aaron: only do this if your testing/QA cycle can properly test it Otherwise I'd say steer clear unless it corrects a problem that you are actually faced with. And even then, test every little facet of it with real data to make sure they didn't break something that you may be depending on.