The 100% solution did not work, been there done that. You are so correct if a room steward turns someone in there go the graturities. Personally I think Carnival got it right.Not necessarily. Since their gratuities are pooled no matter how you select to give it to them, the amount of gratuity loss per occurrence would miniscule at most. If they also neglect to "turn in" violators they might also be gigged by their supervisor who constantly check up on their work and lose out other ways.
Time will tell and when it hits the bottom line I look for it to go unenforced. There is enough going on right now that is not helping the industry.
All in all this appears to be a better solution for the cruise line profits but not without creating some problems areas for some places on the ships.