Hello all - been lurking here for a while, though it was time to join the conversation as I spent four years working on a cruise ship.
Your major security concern on the ship will be the other guests, followed by the crew; unless you are on one of the few ships sailing off the horn of Africa piracy is not a concern.
As for crime on board, it is rare, but incidents happen. Most involve theft, though assaults do happen (usually fueled by alcohol) as well as sexual assault. The most serious incidents of assault I was aware of all happened off of the ship, in port (many Caribbean islands, once you clear the tourist areas, are very poor and often dangerous, even the USVI).
Taking weapons of any kind onto the ship is obviously forbidden; thankfully the TSA hasn't gotten into the business of ship security (yet) so no "naked" scanners or enhanced pat downs required, but security is fairly effective. The cruise line I worked for had plenty of ex-Ghurka and ex-Israeli military guys running the operation, and they were serious people. If you are involved in a crime (possession of illegal drugs or destruction of property were also common) you will be handed over to the local authorities. I hear Mexican jail is no fun.
My understanding is that any crime committed on a ship sailing out of a US port and involving an American citizen will be investigated by the FBI, but again these are rare (the FBI's website :"From Fiscal Year 2000 to mid-2005, the FBI opened 305 criminal cases, more than half of them assaults...a fraction of the 10 million Americans traveling this year on vessels in international waters...")
I doubt that CCW will ever be allowed on any cruise ship, even those flagged in the USA (most are indeed Bahamian, Panamanian, etc. where gun laws are very, very different). I can say though that in four years I never once felt unsafe onboard (well except for being on the outer decks during a monster storm in Alaska, but CCW wouldn't have helped there!) but of course you can always spend your vacation elsewhere.
If you do choose to go cruising, keep your eyes open on-shore to avoid problems, lock your valuables in the room safe, don't be an angry drunk, and please please please wash your hands with soap and hot water after every trip to the bathroom and before every meal - the most likely "assault" you will face is from GI illness so protect yourself! Hand sanitizer is not enough - it's the .22LR of GI protection
Oh, and on the comment that cruise ships don't carry 10,000 people... the Royal Caribbean Oasis of the Seas and Allure of the Seas each can carry over 6000 guests and 2100 crew, so its getting close!