I remember on my first cruise, we had to make ourselves known to a Customs Official onboard the ship (Majesty of the Seas) back in 2007. I think we just had to show our passports, and our SeaPass card. This was I think the night before arriving (or the morning of) arriving in Key West, Florida. Prior to this, we had been in Coco Cay, Bahamas, and before that, Nassau.
I'd have to look closely at the Jones Act (I think that's what it's called), but my mom thought we couldn't stop at a US port if we had departed from a US port (on this particular cruise, we departed from Miami).
2007 - Majesty of the Seas (Bahamas)
2009 - Enchantment of the Seas (Western Caribbean)
2010 - Freedom of the Seas (Western Caribbean)
2013 - Golden Princess (Alaska, roundtrip from Seattle)