south africa is a fantastic place to visit. how much time do you have ?
camps bay is indeed beautiful, its a beach town on the cape peninsula, just about 15 to 20 minutes by car from the centre of cape town. its a bit the "st. tropez" of south africa. you can stay in cape town and go to camps bay for the day, or you could of course also spend a few nights there.
cape town and surrounding areas (which includes places like camps bay, the whole cape peninsula (muizenberg, cape of good hope, kalk bay etc.) and the winelands) warrants enough time. at least 7 week, the more, the better.
what you do/visit apart from that in south africa depends on how long you have (what is a long vacation to you ?), on your budget, on what your interests are etc. tell us a bit more, and it will be easier to give information that fits.
just a few more inputs:
- johannesburg is mostly a gateway city. its definitely interesting to spend a few days there to visit the apartheid museum, do a tour of soweto, visit the museum of the cradle of mankind and things like that. its not (in my opinion of course) a major reason to visit south africa.
- apart from cape town, the major reason to visit south africa is wildlife, and particularly krüger national park. if you are even remotely interested in seeing wildlife, spending some time in / around krüger is an absolute must imo.
- how do you plan on travelling around south africa ? renting a car is the most flexible way, allowing to go and stop where and when you want. public transport (mostly long distance buses like greyhound or intercape) is okay, but it will be more difficult not only to go from a to b, but to also see nationalparks, and stop on places worth stopping for a visitor. if you travel on your own and dont want to rent a car and would like to meet fellow travellers you might want to have a look at the baz bus. and you can of course also join a tour. and a combination of all mentionned is possible.
i suggest that you do some research, and then come back with more specific questions and providing a bit more info (time, budget etc.).
cheers, nathalie