I believe the answer is: only had to fight a defensive war and outlast the Unions will to fight in order to win
The civil war was done by the unions to come to the southern states and forced them to abolish slavery. Because of this, the war mostly happened on southern states terrains and they only have to fight defensive war. On top of that, the confederates have more military personnel compared to the union.