That is, you should if you live in a swing state.
EDIT (A little over 4 years later): Although I still think my arguments
in this post were valid, I eventually came to regret ever having voted
for third-party candidates, because I contributed to giving too much
legitimacy to such choices. I would not do that again.
If I had the power to pick the President for the next four years, it would be an easy decision: Obama is much better than Romney. There are two reasons this is a clear and important choice.
First, there is likely to be at least one vacancy on the Supreme Court in the next four years, and the most likely Justice to retire is Ruth Bader Ginsburg, a 79-year old double cancer survivor. If Romney got a chance to replace her with a movement conservative, that would complete the right-wing takeover of the court. On any ideological issue, the moderates (there really are no liberals on the court) would need the support of both Kennedy and Roberts to prevail. That would almost never happen. There may be other vacancies: by the end of the next presidential term, Justices Scalia and Kennedy will be 80, and Justice Breyer 78. The difference (and consequences for the country) between Obama picking Scalia's successor and Romney picking Breyer's is enormous. Given that Supreme Court justices typically serve about 30 years, this issue alone normally trumps everything else and compels choosing any Democrat over any Republican.
This time, however, there is a second issue of at least equal importance and long-lasting consequences: the implementation of health care reform. The ACA, though imperfect, was the most consequential piece of progressive legislation in about 40 years, but only if it survives and is properly implemented. I don't think it would be repealed if Romney became President; that would require the Senate to go along, and Republicans won't have a Senate majority until at least 2015, when all the popular provisions of the ACA will go in effect and the public will become strongly opposed to repeal. But an administration that's lukewarm on its implementation, combined with the House that defunds it, can turn a decent health insurance system (as envisioned in the law) into a dysfunctional one, which would eventually necessitate major changes. For the reform, which will enable almost all legal residents of the US to have health insurance, to succeed, it is essential to keep Obama in office for four more years.
There are many other reasons to favor Obama, of course. In fact, I can't think of a single issue on which Romney would be better than Obama. But the reality is that the candidates don't differ significantly on foreign policy, and the President really doesn't have a lot of influence on the economy, especially when it is not in crisis. I do think a Romney presidency would increase the risk of a major war (e.g., with Iran), mainly because his current foreign policy team is dominated by neocons left over from G. W. Bush, and neither Romney nor Ryan have any foreign policy or military experience. So, that's probably the third most important reason to keep Romney out of power. And I could go on and on.
But I don't have the power to pick the President. I live in a very blue state, which will overwhelmingly vote for Obama. If the election in my state were so close that my vote had a theoretical chance of affecting the outcome, the Republican candidate would be winning in a landslide nationally. In other words, my vote in the presidential election is worth exactly zero.
However, the fact that my vote is guaranteed to be inconsequential for the outcome of the election also means I have the luxury to vote my conscience and my personal preference. Since I find Obama too conservative and too belligerent, I personally prefer to vote for somebody who stands for more social justice and less war. Therefore, I will vote for Jill Stein, the Green Party candidate.
I don't know a lot about Dr. Stein, other than what is on her web page. She is considerably to the left of Obama, and I agree with her on more issues than with Obama, although there is no candidate with whom I agree on all issues. I am pretty sure she would be ineffective as President - she is too much an outsider - but that's irrelevant since she won't be one. She is the only candidate on the ballot in my state that represents the left opposition to the current government, and that is what I want my vote to symbolically support.
I would not come to the same conclusion if I lived in a state that could potentially be pivotal in this election. I would definitely vote for Obama if I lived in Ohio, Virginia, Colorado, Iowa, Wisconsin, Nevada, New Hampshire, Florida, or North Carolina. I would probably also decline to tempt fate if I lived in Pennsylvania, Michigan, Minnesota, Oregon, or even New Mexico. It's not only that there would be some minute chance that my vote could decide the election. That chance is really too small to take into serious consideration. It's more that voting is, by its nature, a collective act, and although I am not a Kantian by any stretch of imagination, in this case I do feel that my action should conform to what I want everyone else to do. In my state, I am pretty sure that if everyone voted for the candidate they prefer in their heart, Obama would still win. Just like in Texas, Romney would still win. But in states where the race is close, minor party candidates could affect the outcome if voters did not behave strategically. That's why voters in those states ought to view the election strictly as a choice between the two major party candidates. (But I'd be happy if every voter whose preferences are Johnson > Romney > Obama or Goode > Romney > Obama voted from the heart rather than strategically narrowing the choice.)