The age old question that plagues all businesses. I am not party to the revenue breakdown at BA, but I would speculate, based on the evidence of the "enhancements" introduced, that a large proportion of BA's revenue is based on price-conscious passengers who will move on if the price is not right. It would seem that people have an unrealistic expectation of the product based on the price paid in real terms compared with say 10 years ago. It is the same economic model that has caused the supermarkets to drive individual retailers out of business.
Flying has turned from being a luxury market to being a commodity market with all the trappings that go with it.
To summarise, the majority don't want quality and loyalty, they want cheap and businesses follow the majority so it is not going to change back.