Do Princess cruise ships have a duty free liquor store where you can either buy duty free alcohol to be delivered when you disembark OR pay the duty and take it to your cabin. This was my experience with RCCL.
Yes, you can buy liquor on the ship (prices are great, but not a full selection as in a store). I think most cruiselines will match any advertised price you get in port.
You can buy it in the ports too, many of the stores deliver it to the ship for you (usually not optional). The only time I had a problem was in Grand Caymen, when my combo of rumcakes/rum samples didn't show up. I received my refund in Cayman dollars (at a loss). I wasn't happy, as it was my "gifts" for co-workers that got lost. Several months later, I received a package in the mail of just the rumcakes. A nice surprise...never expected to see anything after my refund.
You can order bottles from room service for in-room consumption. It's a bit more than they sell it for in the shops, but still less than paying for all those drinks. We often buy rum and a six-pack of coke for the room.