Living in Dubai, I am unlucky enough to fly emirates every time I go home. Believe me, its crap. Seriously, crap.
Horrible food, really uncomfortable seats, and the hostesses are only mildly attractive (unless you are seriously lucky).
I flew SAA when I was at home, flew to Durban from Jo'burg, and I loved it, the hostesses we HOT (ok, maybe I was lucky), the food was great, everyone was really friendly, and even though it was like 2 o'clock in the afternoon or something, I almost fell asleep the seats were so good.
Personal experience, so results may vary

I flew BA to the UK because my school organised the trip, and IMHO, its the best airline that I have ever flown. Both there and back, excellent in all aspects. The only thing that put me off, was the staff at heathrow, but I think that they are trained to be rude, so its only their job hey.