While this has been said many times before, and sense doesn't go far on MyBB, I'll give this another go. Lets take each stadium one at a time:
Joburg:
Soccer City, already existed, built in the 1980's a massive rebuild, and one that I think everyone agrees is good for the country.
Ellis Park, upgraded
Cape Town:
Original plan called for Newlands to be upgraded, but that would have only allowed it to host round of 16 matches. COCA COLA decided that CT should host a semi, thus we have Cape Town Stadium.
Durban:
The city decided against upgrading Kings Park, as they wanted a stadium to use to host the Olympics, thus Moses Mabhida Stadium.
Pretoria:
Loftus, updraged
Port Elizabeth:
The EPRU Stadium (old Boet Erasmus) is a scrapheap, and the city correctly chose to build Nelson Mandela Bay Stadium.
Bloemfontein:
Free State Stadium, upgraded
Rustenburg:
Royal Ba***eng Sports Palace, already existed, upgraded
Nelspruit:
Had no major stadium, now has Mbombela Stadium
Polokwane:
The old Peter Mokaba Stadium is a hovel, and the city chose to build a new stadium.
In truth we could have probably gotten away with not building one of Peter Mokaba or Mbombela, but other wise, when looked at individually, the stadiums make more sense.