Основные причины: юго-восточный атмосферный перенос в этом районе и холодное Бенгельское течение на западе Африки, а кроме того юг Африки вообще входит в субтропический климатический пояс.
Благодаря этому на южном побережье создаются условия для формирования субтропического средиземноморского климата, а на западном - тропического пустынного.
Да к тому же еще на пути ветров встают горные преграды (не такие высокие, как Анды в Южной Америке, но достаточные, для того, чтобы задерживать влагу) .
См. карту климатических поясов:
Карта климатических поясов Области с разным климатом.