While the existence of primary elections and sophisticated gerrymandering remain dominant explanations for political polarization, here is an argument that two socio-demographic factors also drive this tendency.
We have an increasingly old population - who happen to command, and fight to preserve, most of the entitlements - and a larger and larger gap is growing between the wealthy and the poor in the nation. This means that the interests of the elderly and the young are increasingly at odds, as are those of the wealthy and the poor, as are the voter choices (to the degree that the young and the poor vote at all) between both groups.