People have debated this question for years. For one thing the South and the North were essentially two different nations with different cultures. Some say the foundation for the war was laid in 1787 when the U.S. Constitution was written.
Historian George Berry said "They made the conscious decision not to see the 800-pound gorilla in the middle of Independence Hall, even though they realized slavery was the biggest single issue facing the delegates". He said "There was a struggle for 74 years before the war actually started".
Dedicated Southerners will tell you it was "states rights" and tariffs. Northerners talk about slavery. What do you think?