My son used to ask me why urban areas tend to be more liberal and Democratic in their politics than rural and suburban areas. He was hardly the first to observe this phenomenon. Jeremy Adam Smith has written a good explication of this urban/homeland divide, but he doesn't delve into its causes--the question my son asked. I've tried to explain it this way:
1) Urban areas tend to be more demographically dynamic. They are often the first stop for immigrant families, who eventually develop ethnic neighborhoods. As members of these groups become more prosperous, some of them move away and make room for new immigrants. Big cities also tend to have institutions, such as universities, large corporations and government agencies, that attract non-immigrant newcomers. This population flux means that city residents are regularly exposed to new ideas, new accents, new foods, new religions, new skills and new ways of doing things. Such exposure tends to breed tolerance and acceptance of the new--two of the pillars of liberal thought.
2) Because urban areas have denser populations, the ties of mutual interdependence and mutual obligation that people living there have with each other are more numerous and more visible. City dwellers depend on their landlords to keep their properties maintained, their public works departments to keep the streets repaired, plowed and clean, their sewer and garbage departments to maintain a healthy environment, and their bus drivers and subway motormen to get them where they want to go. Further, because people live so much closer together in cities, they tend to become mindful of how their behavior affects others. It's fine to blast Black Sabbath out in the country, but do so in your apartment building and you'll wind up disturbing a lot of other people The very complexity of city life inculcates reliance on others and a tendency to think about how your actions will affect your neighbors. These habits of thought are quite different from the rural ethos of rugged individualism and libertarian mores. They are in line with the strands of liberal thought that seek to balance personal liberty against the good of society.
3) City life also requires more rules and regulations on human behavior. Urban areas require more intensive zoning and environmental laws. It may be fine to burn trash in the countryside, but doing so in a city might burn thousands out of their homes. A gas station might be built in any one of a number of places in the exurbs and rural areas, but putting one up in the city requires careful considerations of things like subway, utility and sewer lines, traffic flow and safety, and neighborhood aesthetics. Though these restrictions can be frustrating, most urban dwellers accept the idea that they are necessary for the health, safety and comfort of large numbers of people. This acceptance of government regulation inclines voters more toward the Democratic party and its strong-government philosophy.
As Smith points out, the irony of this is that rural areas are actually more dependent on governmental assistance--at least when measured in dollars--than the cities are. I don't think that this means that liberal urbanites should just say "fuck the south," but administering a little does of factual reality to those who have the idea that rural America is self-sufficient and a home to all that is Good and Right might be in order.