With airlines, it is comparatively easy to just plot a new route between a new destination (given that there is an airport). The airports also tend to be in popular areas where there is enough demand. Air routes are also generally not essential forms of transport (where they are, such as Alaska, US or remote islands in Scotland, they tend to be very subsidised). The airplane is often the superior option for the cost and time too, over rail or car.
The train is the opposite of all of this.
The people that can afford it, are able to get a car and drive there at little perceived expense and better flexibility (people don't often factor in the cost of the car, road, road maintenance, MOT, road tax, repairs to their journey). So public transport ends up being for those who cannot afford it, or is convenient enough for.
Not all routes in the UK are profitable. Closing unprofitable routes is unpopular with constituents, and disrupting and isolating if the residents do not have the financial means to get a car, causing social incohesion. So to balance this out, companies had to have both unprofitable and profitable routes balance out, in the hope that they will find more efficiencies than being state run. Existing routes are also very difficult to shut down in the UK.
Keep in mind, budget airlines pioneered enshittification because there are few equally convenient alternatives. RyanAir infamously charges for everything. In principle this seems fine (pay for what you use), but then the poor UX hits. In some airport, if your suitcase wheel sticks out 2cm - you get a bill for £50. It costs £4-10 to sit with your friends. What also is working is that the budget airlines have not yet colluded to only run certain routes, and older, premium alternatives still exist. Once the old airlines either change or go out of business, and the companies start colluding, it will be high-cost, unpleasant stagnation.