I've read a lot of cruise boards and almost every tips thread suggests you take a lanyard and either take along a hole punch with you or seek out a hole punch onboard the ship and get your ID card punched so you can wear it around your neck.
Lanyards in bulk cost pennys. If the cruise at check in punched the card and put it on a lanyard then people don't have to worry about making sure they have a hole punch or that it gets punched in the right spot etc. It's done and ready for them. If you don't want to wear the lanyard you can take it off.
And then everyone gets a nice little souvenir.