The real crux of the issue is that people vote mainly for signaling value. For nearly all people, the primary motivation for their political beliefs is to signal status, respectability, and/or adherence to the groups they identify with. (The latter can mean adherence to some particular faction, sect, ideology, ethnic group, etc., but also to the whole country and its abstract ideals in general.) Accordingly, the motivation for voting is to enable a symbolic expression of such beliefs that reinforces and signals them, much like a religious ritual.
So, to answer your question realistically: if the reward in good feelings and (perhaps) status signaling among some group of people you care about is high enough to justify the effort, then it is rational for you to vote. In contrast, the attempts to demonstrate that one should vote because of some deep moral principles or probabilistic considerations are pure rationalization.
I think you are right that good feelings and status are a big part of it. Why do people endure all manor of inconvenience to be a part of any big event, a movie opening or concert or rally? A lot of bragging rights to have been a part of something, rather than just watched it on TV.
Still I wonder if that is the whole explanation. The system needs X% of voters out there to be viable, but it has no real carrot to attract people to vote. So then voters just assign a value to voting, and show up in relatively large numbers on their own. And it all works out? It's a very clever arrangement if that's how it works.
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.