Knowing a couple of people who ran a restaurant, the mark-up on a drink is much higher than food, but the trade-off is that the average meal bill is lot bigger than a bar tab, and 10% of £30 is a ultimately less than 5% of £300. Note the tense, they said it was basically impossible to balance the books given their increasingly vertiginous rent, every day had to be the best day, and every day that wasn't their best day ate into their residual finance resources. Leaving tables empty though is pointless, every drink sold brings something in.
I think it's often down to 'managed pubs' where the staff can pretty much only put people on available tables and when the 'computer says no' they're not empowered to say 'feel free to sit at the table until the guests turn up' at least until they've consulted with two layers of more senior management and got approval in triplicate. We were once told we couldn't sit in part of a completely empty pub because it 'wasn't her zone' (back during the grisly reign of table service only). Lest you think this was a football pitch-sized pub, it literally was about eight tables. She did explain that the computer wouldn't let her serve us on a table she wasn't allocated to (and that person had yet to turn up). While I feel her pain, basically refusing to serve customers in an empty pub, even if it doesn't lose much money, isn't going to do your reputation much good. We commonly go visit pubs we've encountered on our travels for a meal. Not that one though. Most pubs, fortunately, are fairly accomodating now you can walk up a bar and just order.
(In other news, I bought two pints at the weekend: the damage, £11.90 a pint. I expect no less from Hackney.)