The major political parties have a vested interest in the current system. Though the individuals in the party are honest citizens, the party leaders have only one goal -- winning elections.
How does a party win an election? Through unity. If everyone in the party votes the same way, the party is powerful. That means for a major political party a candidate who is willing to compromise is not a good candidate.
Have you thought that one party is trying to block another for purely political reasons? You're not wrong. At this point in time the Republican and Democratic parties are engaged in brinksmanship that is the result of the parties working very hard to make sure that no moderates get elected.
And while that's good for the party -- is it good for the people? If someone wins a landslide, as we say that Barack Obama did, shouldn't the country be excited? But actually Barack Obama only captured ~70 million of the ~170 million registered voters. With only two parties, that means 59% of registered voters did not vote for Obama. And 60 million voted against him.
I don't mean this as an anti-Obama tirade. Bush was even less popular. But in an interesting coincidence almost exactly the same number of people voted against Bush in 2004 as voted againt Obama in 2008. No matter where you are on the political spectrum, in the last 8 years, you've probably spent 4 with a president you were not happy with. And a Congress composed of members of two parties who cannot compromise, on orders of their political masters.
It's time for a 3rd party.