An interesting study here depicts how little overlap there is in voting in Congress compared to what it was decades ago.
One overlooked reason is likely the reliance on national media and the easy access of anything a politician has said. Once upon a time a politician could say things that let him establish a brand but then go negotiate and vote in ways that might suggest he was insincere about his campaign promises. To win in many districts you have to be clearly conservative or liberal. Then, once the vote comes, you have to vote consistent with those promises or you will be taken down in the primary. And your constituents will know about it because you can't hide your record or speeches in this age of Google and online data.
It is possible that we aren't getting compromise that helps a government to function because politicians aren't allowed leeway to negotiate. Instead, they're expected to be "true" to their principles and promises which means they're unable to compromise and reach agreement. The result? Even when one party owns both houses of congress and the white house it struggles to pass any significant legislation.