1. the fucking notification system incl. new activity is broken on certain unix systems... so it helps me keeping track on which opinion is new and which isn't 2. someone took some time to reply to my question. giving them an upvote and 1XP is a way to say thank you
I upvote when I see fit. If I'm being bombarded with answers-no, I just won't have the time to read every one until later. And once I read them all, I won't upvote the ones that are trolls/just there for the points, smartasses/trolls, and so on. If I really agree with the person, I'll upvote them. If I realllly disagree, I won't upvote. I like upvoting middle ground answers though.
If its on my question then usually ones I agree with or if they made me laugh. And majority of the time when they actually properly answer my question, even if it might not be something I agree with, they actually took the time to properly answer my question rather than put a one short sentence answer.
I up vote those who answer the question with their opinion out of appreciation for answering my question. I want to know what someone thinks regardless if I agree or disagree because their perspective on the subject is interesting. I don't up vote random words or phrases that have nothing to do with the question.