Nobody is expecting it for free. It's the mark-up that annoys people the most. There is no excise duty on non-alcoholic drinks (to the best of my knowledge). But two small bottles of coke (which don't come near making up a pint) can often cost more than a pint of beer/lager. That must be some mark-up on the wholesale price. Hoteliers, publicans and restaurateurs have to make a living, indeed. But there has to be a balance between giving cordials/splits away at a loss and charging a price that would act as a deterrent.
In my opinion, pubs are the worst. A designated driver would probably charged more that someone having a few pints.