I've noticed that some people feel like a vote to close is tantamount to saying "this is a bad question", which (edge cases aside) isn't usually true; when I vote to close, it usually means "this question isn't right for this stack exchange"
For example, consider the question how to read key in span using java script? and the comment thread. It's a fine question: clear, simple, etc. It's just too specific for Stack Overflow (at least according to the current definition of "too localized").
I feel like it would be a good thing if the distinction between "downvote because this is a bad question" and "vote to close because this question isn't right for Stack Overflow" was made clear for the applicable "vote to close" options.