Some say that if Abraham Lincoln didn’t end slavery by force, it would never have ended in the South. Now, of course, that is ridiculous. But, the question is, why is it ridiculous? Southern politicians pushed hard for slavery to expand into new territories, and yet, it barely did. Why did wage labor supersede slave labor, first in the northern states, then in the territories? Why didn’t slavery expand, not just into the territories, but into the northern states as well, thus becoming the dominant form of labor in the world? In short, why isn’t everyone a slave?
The areas where slavery was predominant were overwhelmingly ones where they were used for the production of cash crops -cotton, tobacco, rice, hemp, indigo. Slaves were apparently nearly useless in wheat (Kansas) and maize (Iowa) areas. For some reason, slavery only made sense for cash crops, not food crops, and even less so in areas (like Appalachia and western Massachusetts) dominated by subsistence agriculture. Slaves were very expensive. Consequently, it only made sense to use them when hired labor would have been too expensive. And, without slavery, much of the cash crops of the lowland South would have not have been grown. Meanwhile, labor was not too expensive in Iowa and Kansas as White people actually wanted to settle there to create family farms.
It’s curious to note that for fifty years after the end of slavery, very few Black people moved to the North, despite very low nominal wages in the South. Though their labor hours declined, they largely stayed in the same places as they did before. They certainly didn’t move to Iowa and Kansas en masse. I suspect this is due to Blacks having a comparative advantage in cash crop production as opposed to settling the midwest with family farms. They also seemed to have a comparative advantage in urban industrial labor in the mid-20th century, as opposed to the kind of service-sector jobs that form the backbone of today’s American economy.