I just got back from SA on Sunday.
Yeah I got a little spooked when the riot situation blew up a few months ahead of the trip, but I figured it would be enough time for it to calm down.
Spent most of the time in the Durban area, and squeezed in a too-brief 2 day stop in Cape Town (originally wanted more time there, but plans got changed). The exchange rate is, shall we say, advantageous for us. Got a very nice Airbnb in a wealthy neighborhood on top of a hill with an ocean view for $1300 (after taxes and fees) for a whole month. Fancy-ass restaurants are cheaper than our mid-range restaurants, etc etc
Yes, the walls were the biggest difference that constantly stood out. Basically every private property is surrounded by walls, often topped with barbed wire, and neighborhoods collaborate to hire security firms.
Despite what you hear, I honestly never felt truly unsafe at any point. Though I did have the advantage of spending most of the time with a trusted local who knew exactly where to go and not go. So yes, there are certainly areas where you do NOT want to go to. But ask your Airbnb hosts, any other locals you might know, etc., they can tell you what's up.
People bitch about income inequality here... it is on steroids over there. Some very wealthy neighborhoods, and some outright slums, and everything between. Again, easy to avoid the slums, but if you go on a road trip, some of them are nestled right up near highways so you might catch a fleeting glimpse of them now and then.
Watch out at the airports, if people figure out you're an American (and they will), some will be all over you asking to guide you through the airport, or clean your shoes and luggage and shit, they'll say no charge at the start but then they obvi start asking for tips. I did get duped a little when transiting at Jo'burg. I was just pausing a moment to look around and figure out where I needed to go to re-drop my checked bag and then catch my domestic flight, and someone picked up on it -- there are these dudes that dress alike (so I assumed they were uniformed airport employees). He did get me where I needed to go (but I'd have figured it out), then at the end said they were volunteers and not paid by the airport, and bugged me for a tip. Annoyed, but didn't feel like arguing so I gave him a $20 just to go away. And others claiming to be from Uber wanna give you a ride from the airport (they're not out to kidnap you or anything but, better to just order a real Uber from your phone like normal).
Outside that I found most of the people to be great and friendly and helpful.
Near Durban -- Ballito / Dolphin Coast area is pretty dope. Nice beaches and cliffs and oceanside cafes and tidal pools and that. Kinda Mediterranean vibe. Went on a game drive at Tala Game Reserve and saw some dope ass wild animals.
Cape Town is a little pricier, but still affordable for middle class American travelers. Table Mountain is a sight to behold. Wanted to take the cable cars to the top, but they weren't running when I was there due to wind. Camps Bay Beach is a hoppin bar/restaurant/nightlife area.
Caught a ride about an hour south to Simon's Town / Boulders Beach where there's a wild penguin colony. That was pretty awesome. And even the Uber ride on that route could be a tourist attraction by itself. Stunning drive that hugs along oceanside cliffs and such.
Some things I didn't get to check out but intend to next time -- wineries. The beer is pretty unremarkable but they're a bigtime wine country. And the Drakensberg Mountains. Google image that... spectacular