More black people play football and more white people play rugby. Not a very complicated answer :) It does stem from apartheid however... difference in culture. That said we do have white players that play football, and black players that play rugby, but not at national level. Also it's actually normal to have 90% of the football players in the country being black as that's the general make up of the country.
And regarding rugby, have you seen the size of our rugby players? Dutch heritage man... most of the people in SA aren't anywhere near that size.