Cruise is definitely worth it and a lot of fun.
I do have to add that as OP suggested technically visa is required, practically i went twice in 2009 to Bahama's without visa. AS he mentioned you keep your passport in your state room back on the ship, so no way to check it. Just carry your ship's ID and another form of id (like DL) you should be good.
And dont forget to have FUN !!!