One of the factors that propagates our two party system is our election system, not electoral college, but rather the plurality/first past the post voting.
It allows the participation of people like Nader in 2000 and Perot in 1992 to draw votes away from the candidates who have a realistic chance of winning.
The primary system of the two main parties forces polarizations among the two leading candidates, which they have to carry into the final round.
We the people are left with a crazy right and a crazy left candidate with nothing in a reasonable middle position that has a chance. If you have a preference of one of these over the other you must vote it or run the risk of your third party vote counting against you a la Gore Florida 2000, or Bush Texas 1992.
Better would be some kind of ranked voting or even approval.
http://en.wikipedia.org/wiki/Voting_system#Single-winner_methods
Any update?