I personally don't think food has anything to do with BA having to compete.
Most people I know don't fly BA (possibly long haul) due to the price and where they fly from.
People I fly with generally tend to holiday in Spain, Turkey etc and if they were to fly with BA, that's a 3-4 trip, minimum, down to London (could use Manchester but then you would possibly require a 1h30 trip to LGW on top of everything else).
It's easier to travel 30-60 minutes to Humberside, Doncaster, East Midlands etc and fly Easyjet or similar and save hours of extra travel.
They're not bothered about getting a free bag of 15g crisps or a biscuit as a snack.
It's all about ease of getting to their destination at a low price and not living in London results in BA not being viable in most cases.