Is it selfish or frowned upon not to upvote another answer (even if its right) so yours will rise to the top faster?
I find myself wanting to un-upvote posts so my answer will do better... But I have been able to push back the evil thus far.
No-one is telling you how to vote, your votes are your own.
However, if you do upvote competing answers, there is a nice shiny silver badge to be earned: Sportsmanship.
Up voted 100 answers on questions where an answer of yours has a positive score.
I tend to revisit questions I answered when I notice a new upvote. After I revisit the question, I upvote the other (correct) answers. So (if other users act the same way) upvoting a "competing" answer leads to more upvotes on your answer. Having said that, for me, the gaming factor in Stack Overflow is not to have the highest scoring answer in each question, but to earn the maximum upvotes overall.