The problem of tipping or non tipping in the international dining and accommodation industry was solved simply by adding on a service charge to one's account. Why the cruise line did not do likewise and call it that is beyond us. They separately add Port Charges , Airport Charges, Transfer Fees, Flight Deviation charges, etc., so why not Service Charge. By calling the latter a tipping system and then making it voluntary was ludicrous.
The travel industry does not want to add all these charges into the fare prices for fear they will be judged by the public as being that much more expensive. So they list these things separately, and only after giving you the "cruise price".. But you still have to pay the total amount one way or the other.
Recently our govenment mandated that when the travel industry states a price for something, a cruise for example, the amount must be the total of the fare plus ALL these other charges so we know just what we are being asked to pay. We think this was a great step in price honesty.