The primary reason I'm voting for Kerry is that it looks to me like the country is in a solid trend towards becoming more conservative. There are more republican congressmen, senators, and governors than 20 years ago. I'm not sure why. I (and others) have hypothesized that it's due to lower birthrates among liberals, but it could very well be for a totally different reason. No matter what the reason, I'd like to slow that trend down. That's primarily why I'm voting for Kerry.
He could still easily win it as of this writing. Those who put real money on the line (tradesports or the presidential futures markets) show Kerry with about a one in three chance of winning. That's still a pretty close contest. If he stays on message and does reasonably well in the debates, he could win, perhaps even solidly.
Right now Kerry is hammering on the Iraq war issue. I think that's an excellent move. That's the one issue that I've found has the most potential to sway swing voters. Clearly, a vote for Bush is a vote for more invasions and more war. Relentlessly pointing that out is Kerry's best tactic. It's also honest and forthright - after all Bush proudly states that he will continue taking the war to the terrorists. Conveniently for Kerry, not everybody thinks that's such a great idea.
Other than staying on message, I think one other thing the Kerry campaign ought to do is muzzle Ms. Heinz-Kerry. I've heard many people say that they think she's awful. Keeping her out of the media can only help.