It depends on what you are after. Mozambique is your best bet for a tropical island-style beach holiday characterized by leisure and snorkeling/scuba diving activities. For a beach holiday that can include activities beyond the beach - like city tours in Cape Town or wildlife encounters in the Garden Route - South Africa is the superior choice.