The American Civil War began because of the differences between the North and South.
In the north there was little to no slavery and slavery in general was looked down upon. The Souths major industry at the time was slavery.
There had been many arguments in congress up to this point about the Southern states slave trade and there had been violent episodes come about because of it.
The south began to get suspicious that the North would try to usurp control of the South from the elected statesmen and politicians. A long period of unrest came about until John Brown.
John brown is described as many thing a savior, an activist a terrorist. But he was an abolitionist. His one raid caused more damage to the Union than anything before it.
The south, with their paranoia seemingly confirmed, began to secede. The raising of the Union army did not help matters either.
It was not just because of the south paranoia and the norths opposition to slavery that this war started. Indeed some of the blame can be laid on the norths superior attitude over the south and determination to have its way.
The south didn't want to be controlled.
Also there were a few Unionist who fought for the South just because they held loyalty to their home state in higher regards than loyalty to the Union.
Robert .E. Lee and Thomas .J. 'Stonewall' Jackson to name two.
"there's only one way to win a war: shout, shout, and shout again!" - The Duke of Wellington ((Blackadder - Stephen Fry))