One thing that we must not ignore is the voting system that we have in the United States. Our use of the "winner-take-all" system of elections that we use.
In many other countries, a system called "proportional representation" is used. This means that parties are represented in a parliament in proportion to the percent of votes they receive in an election. In such a system, a party that won 25% of the vote, for example, would get about 25% of the seats in the legislature.
In the US, a party that won 25% of the votes in an election would likely get 0% of the representation (unless there were very odd circumstances with a large number of candidates splitting the vote). In such a system, third parties will have a tremendously difficult time breaking up the two-party system. Small parties cannot win any seats until they are able to win a plurality in a given district. This makes it hard for "third parties" to get going and helps to maintain the two-party system that we have.