I usually like to book flights about 3 months in advance, but I didn't have that option when I booked my current tickets. I was worried that getting tickets 2 weeks before flying would put the prices WAY up, but it didn't
I even searched for flights departing between 6 months and a year from now and they all cost the same as what i've just paid. I found that pretty interesting.
Return flights London to Joburg via Dubai (very short stopver) for just under £500, booked just under two weeks before flying. The cheapest I could find were just under £400, but involved some pretty crazy connections and stopovers.
I don't mind the stop in Dubai, especially when it saves money

Although this time i'll have just an hour to make my connection. If my flight is late leaving London, i'll get quite stuck...
For me, the most expensive part of a trip to South Africa is getting from the little Island where I live, to London to get an international flight. This can cost almost as much as the flight to SA
So the point is that you can definitely find cheaper fares without much planning ahead