Overpriced is a relative term. On board O, a single shot of Bombay Sapphire is US$12, including gratuity. In Toronto at a moderately upscale restaurant a single shot of gin is CAD$23 plus gratuity, or about US$20, including gratuity. In our small city, a single shot of Bombay sapphire is about US$13 including gratuity. So O's prices are not out of line with most US restaurant prices. While enjoying cocktails while eating out is certainly much more expensive than in-home (or in-cabin) drinks, for us, there is often more to enjoying a cocktail in the bars and lounges than sitting in our room when on vacation.
But as is always true, preferences are personal. We have ours, and you have yours. We wouldn't try to convince you otherwise.