If you hover over the upvote button on an answer, it gives this tooltip:
This answer is useful
So, upvotes on answers could be given for either of the reasons you give:
- This answer is right on the money
- This answer clarified my confusion
Other potential reasons for upvotes might include:
- This answer is very well-researched
- This answer is especially well-written and well-formulated
- This answer uses great examples or an especially good analogy to teach a difficult concept
- This answer pretty much says what I would have said, so I'll just upvote this answer instead of writing my own
If there many answers to one particular question, you might find yourself voting for one or two of the best answers, to help "float them to the top." Or, you might upvote all of them, if you think everyone looked at the question a little bit differently and all made very valid points.
There's really no set criteria, because "useful" can mean different things to different people.