Every small business has to recoup the business rates, staff costs, heating, bank charges and a myriad of other costs before it makes a profit. A restaurant or cafe will have a figure that it needs to make from each customer that sits down. Therefore for a small business it is necessary to jack the prices, otherwise they will go bust.
This is not the same for a supermarket chain though. They are relying on you spending money on groceries etc and they make their profit from you that way. Therefore they can charge for breakfasts as a loss-leader and are able to give better value than a small cafe or restaurant
Therefore if it was a small business you were not over-charged. If it was a supermarket chain, you were!