This Economist article is well worth reading. A snippet:
There is nothing immutable about the way the two parties currently line up. Republicans used to be the big-government progressive party, formed in opposition to slavery and pushing to remodel the South after the civil war; they have also been the small-government party, not only now, but in opposition to the New Deal in the 1930s. Democrats were once the small-government party, opposing those who wanted a more powerful federal government and defending the interests of white southerners against Washington; now they are famous as the big-government party, pushing federal anti-poverty programmes in the 20th century and government involvement in health care in the 21st.