It's not rocket science - if a hotel could build the costs that people have referred to above (F&B service, internet, etc.) into the rate, I suspect that people would be less fussed, because you know what you are getting up front and avoid the incidental annoyance.
And I agree with a previous poster - as many luxury hotels are tacking on service charges to the nightly rate, additional incidental charges are harder to swallow.
Having said this, I have happily bought the 2 quid coke at One Aldwych in the past !