I don't think it is unreasonable for cough syrup to cost $7 on the ship as opposed to $5 at a UK pharmacy. Apples and oranges, plus a little profit. A cruise ship can't have a large inventory of the syrup, plus they are not in the business of selling medicines which means their wholesale price is probably higher. Convenience costs. I paid $5 for a very small Mennen deodorant stick at my Hilton hotel on November 30. One three times the size would cost me $3 at Wal-mart. But, I needed it and it was right there in the lobby.
It is unreasonable to expect day-to-day living prices as you have at home, while on a vacation on ship or at a resort.