Venice, my wife's best friend manages to go all over the world on cruise ships. So far this year she and her husband have been in Italy, Greece, France and England. In september they are headed foe Australia and they do it all without flying.
So you can probably find a way to cruise to South Africa.
Carnival Liberty New Year's Eve 2007
Liberty of the Seas 5/2008+11/2009
Allure 1/16/ 2011
Vision OTS 2-14-2015
Booked Allure of the Seas... 2/21/16 *Last Gang Cruise*
Booked Celebrity Equinox ... 4--4-16