I don't vote. Part of the reason is that I have little confidence in my ability to judge which candidate will be better (because I don't have traditional left-right views. ) I also have little reason to put effort into determining who is more likely to be better since voting has so little benefit.
I don't think voting is immoral, though, and I can see that there are some situations where voting is the smart thing to do. For example, if you want to demonstrate your affiliation with a group, or if you just like the act of civic participation.
For many years I've been interested in the "paradox" that your vote tends to never alter the outcome of an election, yet the outcome is in fact determined by the votes. I wrote a blog post about this and tried to explain it in terms of emergence, we as voters are just feeling what it's like to be just a tiny part of a much bigger system.
Then I tried to explain that "voter turnout" is in fact one of the most important metrics for an election, it determines the legitimacy and stability of the process. So therefore even though your vote won't determine the winner, it will contribute to voter turnout and thus is productive and useful.
http://www.kmeme.com/2010/10/why-you-should-vote.html
However I don't find my argument all that compelling, because even voter turnout is going to be approximately the same whether you vote or not.
In the post I bring up littering as something else where your tiny contribution adds up to be bigger result. I personally would never litter on purpose, yet I often skip voting because it seems like it doesn't make a difference. Is voting rational? How do you justify voting or not voting? My post was non-partisan so I'm soliciting non-partisan comments, trying to focus on the theory behind voting in general.