I have done both, and my (heretic) suggestion in this case, would be to go for Kulula. Check-in is really not bad, and the prices can be fantastically cheap sometimes. I would recommend that you register for their FF programme (kulula moolah) before buying a ticket though, and buy them separately. I can't remember off the top of my head what the earning rate is... But last time I flew with OH, we booked JNB-GRJ with money, and it earned us enough 'moolah' to redeem for one of the return segments. The beauty of the programme is that you earn for your spending on the website (ie. without the requirement to actually fly).