Don't bring a ham sandwich for your flight home. The drug sniffing dogs also snif for meat. I saw an elderly lady using a cart with all of her families lugage on for support. She was pulled aside and taken off by security while the family was left behind wondering what was going on. Turns out she'd taken a ham sandwich with her from the ship to eat on the plane. The dog had to find it before they'd let her go. There'ss a proabition for bringing processed meats into the US.
Rum cakes and other food are fine, except for some fruits depending on what port you are disimbarking at. California, Hawaii and Florida have restrictions.
As far as alcohol, officially it is not permitted, execpt for some wine. That is not to say that lots of people don't smuggle it onboard. I used to, but found that it really wasn't worth the hassle. RCCL allows you to buy on board duty free, and pay a room charge to take it with you. Of course it depends on your brand, but you can get things Absolut two bottles for 19 bucks, and there are other brands at good prices too.
Do a search of the RCCL message board and you will find plenty of advice on the subject.