I don't know if there is a canonical policy somewhere hidden away, but I generally ask myself if the effects of CW'ing a question are desirable:
The main effect is of course that no one gains rep for being upvoted. Is that desirable? Rep is meant to reflect a users helpfulness and level of knowledge and general contribution to the site and the community. If someone writes a good answer to the question, does that indicate a valid contribution?
If so, it should be reflected in their rep score.
A question should not be marked CW if it is possible to write valid, helpful and knowledgeable answers which contribute to SO.
Even if there is more than one valid answer (in open-ended questions), individual answers may still have value, and so they deserve the rep gain when they're upvoted.
Marking such a question CW just discourages people from putting any effort into their answers.
The other consequence of CW is that posts can be edited by more people. Usually, I don't think that's a big deal. I think that's a vestigial property, it was useful before the creation of Meta, back when CW posts served as a repository of howto and faq's about SO itself. Today, I can't think of many cases where it's desirable.
I know this brings me at odds with a large group of people who seemingly get a kick out of demanding "THIS SHOULD BE CW" whenever there's even a hint of subjectivity to a question. I still don't understand why, but it seems to be a cult created around some vague statement Jeff may have once made back when the site was in its infancy.
Mark a question CW if answers have no correlation to their authors' contributions to the community.
If it is a poll thread, one answer is as good as another. The value is in the entire set of answers, not in what individuals chose to vote. So mark it CW.
If it is a joke thread (although those seem to be getting rare), mark it CW. There may be good and bad answers, sure, but none of them say anything about the answerer's technical skills or contributions to the site. No matter how funny my joke was, it doesn't mean I'm any better at answering questions on SO, or that my account should be given broader moderating powers (as happens when you gain rep)
But CW is grossly overused in my opinion. Outside of joke/poll style threads, I really can't see a use for it any longer. It was largely made obsolete with the creation of Meta.