If the two parties actually worked and compromised to get things done, they'd alienate their motivated bases to right and left, and leave those in the middle rather apathetic. To get money and volunteers, they need us INCENSED at those bastards on the other side, so both make excuses why they don't pass any sensible legislation. That gets everyone mad and motivated, and the two parties get what they want.
There is ample compromise available, it would disappoint some, but most would think "Well, OK, we got this and gave that", but then we'd not be donating and whatever else.