The major reason for this is our “winner take all” electoral system.
In our system, a party that wins 20% of the vote in a given district gets 0% of the representatives from that district in the legislature. This is unlike the system in countries with proportional representation. In those countries, that party would most likely (depending on the details) get 20% of the representatives.
In our system, then, a third party will not get anywhere until it can actually win majorities (or at least pluralities) in many districts. This makes it very hard for third parties to get started because they get no reward until they have a great deal of support.