Unless you are doing ceremonial on top part, wearing no 3s on a ship is stupid. It's an industrial environment, so NCDs with the associated steel toe boots with the oil rated soles is the minimum PPE. With repairs and other work constantly on the go, really easy to have a bit of oil on the deck or ladders, and the oxfords/parade boots turn to ice skates. Have personally slipped in both spots going about my day to day business as an officer on board, and probably would have had a career ending injury if I hadn't managed to grab the rungs (and smash my knees and wrench my shoulder instead of bouncing 10 ft down). Can be a change parade, but if I had a meeting in no 3s ashore, first thing I did was put on my NCDs when I got back.
There are also all kinds of protrusions everywhere that have bits of grease on them, so even just going from A to B it's easy enough to ruin a shirt.
Would counter that if you can go the whole day onboard alongside and never be at risk of any of that, either your job should be ashore, or you aren't maybe being as active as you should in getting around and talking to people. Although it could be kind of a nightmare, good for even the CO to walk around during the day to the various nooks and cranies to see what's actually going on (on occasion).
Work dress should be for when it's needed; we pay a lot of money to fit people out with FR clothing and train them to do first aid in an emergency, would be monumentally stupid to lose even one person to an injury in that rare event because someone though 'no 3s looked better'. Ugh.