I'd just add to Capetonian's points that I've never had a bad experience with BA staff in the air, where service levels have ranged from satisfactory to "above and beyond". Problems begin and end on the ground. This includes flight booking, eg totally unrealistic transfer times between terminals assumed, meaning that to get a realistic one it is necessary to book BA long haul and non-BA operated (but BA code shares) connecting flights separately, lost bags (very much a "not our problem" attitude), and rude check in staff (though I only ever experienced that at JFK where rudeness appears to be a general job requirement).