Yes you cab buy booze onboard for onboard consumption, but at non-dutyfree prices, meaning there is a $9.50 charge above the price of the bottle to take it back to your cabin. That should make it comparibly price to the same stuff back home, depending on your states liquor taxes of course.
Coke, fountain and in cans. It is ok to carry aboard sodas. Buy them just before you get on the ship, or do what we did. Check in early then leave the ship. You are allowed to go back off the ship after you have gone through the paperwork. In the San Juan terminal there was a liquor/drink store. We bought our soda there and just carried it back to our cabin. Saw many people doing the same, including carrying liquor aboard with being stopped. Your milage may vary.