Yglesias jotted down some of the reasons and justifications for America's tight two party system.
Adding to his list...
Two party systems tend to make for a more consistent government. While it might be interesting to see what would happen here with multiple viable parties, I don't know if having thin pluralities (election results divided by, say, six parties equals no clear mandate for anyone) would lead to anything better than what we have now.
Also, the electoral college discourages third parties, considering that electors are either Democratic or Republican. This is why third party presidential candidates have very little chance of winning. The only way around would be if there were suddenly enough faithless electors to switch their vote to the third party candidate.