I was taught in school that the civil broke out because the south refused to abolish slavery. I was talking to a friend however who claims that although slavery was an issue at the time, the civil war only broke out because the federal government wanted to impose taxes that the southern states did not want to pay.
This is a very common question round these parts.
Check out the AskHistorians FAQ for a variety of posts addressing the subject.
I have a followup question: if the war was about slavery why didn't the North declare war on Maryland, Missouri, Delaware, and Kentucky, they were still slave states at the beginning of the war.
They didn't secede but remained in the union, Delaware and Kentucky were still slave states up until 1865 and only freed the slaves with the passing of the 13th amendment. So if the war was about freeing the slaves why weren't the slaves freed immediately in these four states, and why did slave states fight slave states?