If it looks like a question was answered in the comments because the question wasn't appropriate for MO, it's still not appropriate for MO, so you should vote to close for whatever reason fits the question. However, I don't think it's right to vote to close a question simply because it has been answered.
If it looks like the person answering wasn't very confident in her answer (or just wanted to get a terse answer out), but you think she should post it as an answer, I think you should either post it as a CW answer or leave a comment to the effect of "@username: I think you should post that as an answer." (this will be more effective when we finally get replies to comments merged from SO). The advantage of CWing the answer is that people with <2000 rep can then edit it to make it better if it was incomplete in some way.
I've also been mulling over the question Pete mentioned. I'm not completely sure that posting Pete's comment as an answer was the right thing to do, but I don't regret it. For questions that might be homework, I feel like it's reasonable to post an actual answer which consists of a reference. This gets around the problem of unanswered-but-actually-answered questions. If it wasn't homework, this is exactly what the asker was looking for, and if it was homework, the asker still has to work through the reference. The main reasons for discouraging homework questions are (a) we want to get the right audience (research mathematicians, not calculus students), and (b) it's annoying when somebody asks you to do his work for him without having put any effort in. Somehow the question Pete mentioned didn't feel to me like somebody gaming MO to do their homework, and it was an appropriate subject matter, so it didn't trigger my "inappropriate question detector".
3) another possibility is that there is a very simple answer/counterexample and it's unclear whether the author meant to ask the question as stated or left out a hypothesis. In such cases it's clearly better to address this in the comments to give the author a chance to fix the question.
If the question is unclear, I would vote to close and leave a comment asking the OP to clarify (and perhaps link to http://mathoverflow.net/howtoask). Once the question has been sharpened, vote to reopen. It's really frustrating when any answer to the question has to start off with a guess about what the question actually is. Typically, the OP realizes that something is wrong after a couple of answers have been posted, then edits the question so the answers look totally bogus. Closing the question until it's cleaned up prevents this sort of thing from happening.
]]>In the case that the user has not been back in the past n months, add the answer as above and vote to close, for n to be decided by the community.
]]>