"The people they claim to represent"? There's the problem.
The two parties more or less do represent the people who vote for them, and now, more than in the past, they do represent one of two opposing ideological positions.
But representing "the people" and promoting an ideology conflict: getting to 50%+1 means being less ideologically purist and standing for one set of starkly opposing ideological positions all up and down the line means forfeiting those centrist votes that mean the difference between winning and losing.
There is a hardcore that represents strongly defined views, but that doesn't get you to 50%. To win, parties need to rely on people in the middle who only want a little bit more of one alternative and less of the other.
When people vote for a party they usually recognize this and vote for the party anyway. There's only so much that a party, a politician, a Congress can do anyway, and if you just frustrate the other side's plans you've done more than one can reasonably expect of any particular party or politician or Congress. But then the purists or militants or activists complain that the party didn't do what it couldn't do and wasn't ever going to do.