I've done around 12 or 14 cruises on which I've gone diving. I bring my own mask, fins, snorkel booties, regulator and computer. Sometimes I'll bring a BCD. I'll bring a wetsuit if I think the rentals will be too thin for my taste.
I wash and dry my gear on deck. There are fresh water showers on deck by the pool. I let it drip dry on nearby chairs. That way it does not make a mess in the cabin.
Don't bring a knife. It is often a real problem and I've never actually needed one on a dive from a cruise ship.
I book through the ship whenever possible. It avoids problems. If the ship is late arriving, the dive boat waits. If the dive boat is late returning, the ship waits. If conditions prevent diving, I get my money back. The cruise line requires the dive op to have good equipment, people and boats. However, the cruise line does not let the dive op take guests on dives that are particularly challenging ... unless there are only 1 or 2 divers signed up and they are both advanced.
The only place I've been on a cattle boat is Puerto Villarta and even that is a fun cattle boat. I find the divers are about the same quality as when I book privately (unless I'm the only diver).