At one time air travel was a "luxury". People paid hundreds of pounds to fly somewhere and expected meals and free drinks while on board.
Companies like BA were "cash happy" so could afford to pay their staff a good salary.
Then people like Easyjet and Ryanair came along and allowed you to fly "no frills" for far less than BA charged. These companies cut costs to the bare bones, and so can charge low prices.
BA have been losing BIG money for years so need to reduce costs or they will go out of business.
One way to reduce costs is reduce salaries, bonuses, stop over allowances etc and increase working hours
Some BA staff, and Unite, are against this, hence the stand off / strike.
(yes Virgin staff earn about half what BA staff earn).
To be honest if they carry on like this BA will be bust by the end of the year (and to be honest I blame both sides).