Is there a category of questions/answers, or a situation in which it is considered appropriate to down-vote correct answers?
As a case study, I'll refer to the question, Finding duplicate values between two arrays
Homework questions, or questions that are suspected to be homework, definitely have a cultural treatment of their own, and that's part of the complication here. In this case a user down-votes answers that are technically correct because the user felt that it was improper to give an answer with complete source code, even though the answers are technically correct, and the people who provided the answers felt it was worth their time to give a full answer, regardless of the perceived difficulty of the question itself.
Jeff and Joel have debated this somewhat on the StackExchange podcast, and it seems that there are essentially two camps around this issue:
- "If the person hasn't given the question enough work, you should never answer the question," which is sometimes interpreted as, "This is a community for professionals and/or serious enthusiasts, and such questions are not worthy of the community. Therefore we don't want the community to be about this sort of content, and it should voted for closure, or downvoted."
This approach seems to be about what the community values should be, and it definitely has a point.
- "Whether or not to answer a specific question is an individual decision. If you don't think a question is worth your time, then move on, and let others decide if it's worth their time. Furthermore, let the voting system do its job, and use flags or votes-to-close rather than downvotes if you feel content is inappropriate."
This approach seems to be about the rights of individuals to act within a community, and encouraging others to take a more "hands-off" approach, rather than attempting to impose personal beliefs upon others.