I think, especially on a ship, food is NOT cooked to order. If you send back your pasta (let's say there is a hair in it) ... the server goes back to the pasta, and there are a hundred plated pastas read to go. It's no inconvenience to the waiter, and he wants to keep you happy. IMHO.
I once sent back a steak in Chicago. I was there for "THE" chicago steak experience. How upset was I when my $50 steak, ordered medium rare, turn up almost medium-well? There was no way I was forkign out $50 and eating something I was not pleased with. Like Trip suggests, I coyly showed the waiter my steak, and asked nicely if that was "medium-rare" in this establishment because if so, the next time I would order it rare. He agreed that it was over-cooked, and quickly took it away. Of course, the replacement was brougth out by the manager, who stood over me while I cut into it to make sure it was okay!
In my opinion with residual heat, it is very easy to overcook a steak, but hey, they are the experts, and if I order a $50 steak, I want it cooked right!