The South started the Civil War to retain slavery with the objective of preserving the economic status quo. It's that simple. The upper class of whites, mainly the plantation owners, wanted the money from cotton to keep flowing in. The middle class of whites, the merchants, wanted their upper class customers to remain rich so that they would keep buying goods. The lower class of whites were having a hard time and didn't want competition from emancipated slaves. All three classes knew that the economic status quo depended on slavery — a point proved later by economic collapse during Reconstruction, aside from the rapid development of a few industrialized cities like Birmingham. In the minds of white Southerners whether wealthy or poor, slavery and the economic status quo were identical. They chose to disregard the enormous immorality of slavery; they chose to ignore that their economy was the fruit of a poisonous tree; and to make things even worse, they chose to overlook the additional immorality of going to war over it.
So, did the South wage war to retain slavery? The answer must be Yes. Did the South wage war to maintain the economic status quo? You can answer Yes as long as you make the point that slavery could not be separated from the economic status quo. Did the South wage war to preserve states rights? Certainly not. States rights was merely a rationalization, a ploy to rephrase the argument in righteous tones while obscuring the ugly motivation underneath. The ploy was successful in the South, nowhere else, and to some degree it still works. States rights is almost always a codeword for what people in one part of the country feel strongly about while being in the minority nationwide. For that reason, states rights have been invoked in the context of prohibitions against same-sex marriage. BS then, BS now. But no state in the U.S. is willing to launch civil war over same-sex marriage. Economic livelihood, that's different.