I can speak for myself only, but I think actually many other may share this view.
I have done this multiple times both in the past and recently. Not considering times I had a comment posted because I didn't had the time to post a full answer but still wanted to leave a possible hint to the user, most of the other comment-answers fall under a simple reason.
When I post an answer, I like to be sure that it actually qualifies as an answer - not just a GUESS.
Very often I see answers that are just guessing what the problem may be. Any time an answer starts with "Maybe", Have you tried looking at the logs", "Try to do this and see what happens" etc, this is a clear indication that what we post isn't yet an answer but just a still-ongoing "debugging" process that probably would have been better handled as a comment.
Bear me, I am not saying that this is completely to blame on the user answering. After all, many questions are very poorly written in the first place and lack the environment information that are required to craft that one "sure-to-work" answer in the first place. I also can understand how this "guess answer" may be view from many users as a "I came first" answer preorder - every time you post what may become an answer as a comment because you are not sure you are actually risking some evil one coming steal your idea and the unicorn points prize.
I think it is only a matter of preferences.
Some users prefer to only use an answer if they are sure that they know the problem and using "Try this" comments otherwise, other prefer acting boldly and posting the guess directly as an answer (knowing it may be downvoted) and then edit or delete it as required. I personally prefer the first approach, but this is only my own viewpoint. You should chose what seems to fit better for you.
As for the related problem, what to do when this happen... I think that common etiquette should suggest that the question asker tries to ask the comment-poster to convert his post to an answer and if that fails. If that fails after a reasonable time, post a community answer with the original comment content so that you won't gain an "unfair" benefice from it.