Is it possible the political system is the reason why? From an outsiders perspective it seems like the system doesn't lend itself well for new parties to come out and play or give people other options. Down here for instance we have traditional conservative and liberal parties but they don't always dominate every electoral seat, we actually had a hung parliament only a few years back due to Independents and Greens parties winning votes. We've also had cases of parties who were once popular 10-20 years ago becoming extinct. All I ever hear coming out of the US is Republicans and Democrats, I've never heard of a third party in all my life.
Well (and I don't mean to sound like I'm lecturing) there are a few important things to note. It's true that the Republicans and Democrats have been around for a long time (really, by any country's political standards), but the parties have changed radically.
Their ideologies were very different. The Republicans were fairly liberal until the mid 20th century, while the Democratic party evolved into an increasingly liberal party in the early 20th century.
Regionally speaking, the white ruled South was exclusively Democrat until the 1960's. It's hard to imagine, but JFK, and George Wallace (notorious racist) were members of the same political party during their civil rights era clashes. Once the Democrats became anti-segregation, most Southern Democrats became Republicans, who by this point had become conservative. It's worth noting that even the racist Southerners weren't exactly typically conservative in the modern sense. For example, George Wallace actually had some socialist ideas, and many Southern Democrats supported FDR.
So, if you went back in a time machine, and told Lincoln (a Republican) that the Democrats would become the party championing African American rights, he'd probably find that harder to believe than the fact that you time traveled.
America has had some parties that went extinct though. The most famous are the Whigs.
Those two parties stick around because they keep evolving.