I'd like to add one more reason for voting, even if it's pretty clear who is going to win.
Again going back to professional political analysis, a Congressman who squeaks by in a lackluster district will not get the same respect from his colleagues as someone who can really get out the vote.
In NYC, Charley Rangel is an old-line Democratic Congrtessman with all sorts of seniority and a good deal of respect for his personal attributes. But while his district is a sure bet to vote for him, voter turnout stinks. This does not help Charley be persuasive (twist arms) as a member of the NY delegation, against Congressmen from more dedicated electorates.
And if a candidate can outpoll others on the same ballot, this really gets noticed. For example, if my Congressman gets more votes than my Senator, running at the same time on the same party line, people are going to wonder why the party faithful, who came out to vote, and liked someone on the ticket, had it in for the other guy and wouldn't flip the lever for him, too.
Ed Koch, running for Mayor of NY, used to point to the results the day after elections, where he got more votes than his detractors in districts where they were running for other offices, like Councilman. Evidently, the "minority" voters liked their mayor better than they liked their "minority" (political machine) representative.
It never hurts to stand up and be counted. Democracy does not mean that each of us is in charge of everything. It means that the bosses have to shut up and listen sometimes. There will be limits, even if we all chafe at some of them.