It depends. For instance, if you were flying to St. Thomas you could drink all you want at age 18. But if you bought any it would be taken from you at the airport. I'm not sure how the cruise lines handle it. This is an interesting question that I have not encountered before. Generally, when security takes the booze from the passengers at the ship's entrance, they aren't asking for ID. They just want a cabin number so the booze can be delivered on the last day of the cruise. However, US Customs will most likely take a dim view of it. You have to declare your booze on the Customs Form, even if it is duty free. They may note your age and take the stuff. My advice is to have a good time in the places where you are legal and forget trying to bring anything home.