scotbill....The smaller the aircraft used the higher the price. Go and rent a navajo and a pilot to do the same 45min trip if you think like that.
It's not unusual for small short domestic routes to be as expensive as a long haul flight. If people want to get there fast and comfortable then fly, next step down probably the train, however if you want to pay £25.99 may I suggest you catch the bus or drive yourself.
There are not too many train services to Benbecula so indeed one does drive via ferry.
However, you are deliberately ignoring the point. The Saab 340 has 34 seats. If it departs with 17 empty (as it often does) that is a completely wasted resource. The reason the locos make a profit is that they cling to the old airline accountant's mantra that the only thing that counts is "Bums on seats"