I downvote a question that I don't think contributes positively to SO as a whole. This doesn't mean that the question is off-topic or otherwise inappropriate for SO, just that is not a good question.
Like:
- Asking questions that are obviously not well-thought-out.
- Posting massive amounts of code. There may be a great question in there, but you have to search through your code and give it to me; I'm not going to dig in there myself to find out what all your
foo
s andbar
s mean.
For me, it depends on the question. I rarely downvote and flag an answer; I think they serve different purposes. It may be overly pessimistic of me, but once a question is closed, I see very little potential in it being edited/reopened by either the community or its author. This is why I downvote instead of flagging. I flag questions that do not belong here based on content/subject, and downvote questions that belong but are not good.
I believe in giving the user a chance to better their question and I think that the chances of editing decrease when a question is "on hold", despite the encouraging text at the bottom.