yes, but if my reading of the current 'average' fares for various routes is correct, then the only way BA can fill its aircraft is to seriously discount the tickets. Were they to give a better service (to be fair its not all BA, its LHR aswell) then they could charge a premium on their tickets.
BA may be making a reasonable profit, but they still have a billion pound hole in their accounts to fill (pension) and there must be a reason why they are pretty much the only airline in the UK if not europe not to have expanded during one of the biggest boom times in the industries history.
Personally I always state 'anywhere but heathrow' when travelling myself, and whilst not particularly avoiding BA per-se, this does eliminate most of their flights from my shortlist.