In the case of airlines, I'd expect to be able to turn up at the airport on the day of my booked flight, find that some proportion of flights are cancelled and some proportion are still running, maybe get lucky and still get home, maybe not. But if not, I'd expect them to do something to try and sort out the rest of my journey for me via some alternative route, which, again, might be possible, or it might not. And if not, there is food available to me in the airport. Worst case I can sleep on the floor in the airport and still be warm and dry until the disruption is cleared.
Ferries, I have no experience with, so can't really comment, but from a quick glance at the CalMac Ferries website, I see the messaging "some of our services may be delayed or cancelled", which says to me "it's likely to go wrong at some point tomorrow but we'll be up and running again as soon as we can". Compare that to the railway's "do not travel", which says to me "we're just not going to bother, there's no point in you even trying to use us".
Ultimately, regardless of what the railway, airline and ferry might or might not do to help me if I do actually turn up in the middle of tomorrow expecting to travel, the railway's messaging gives the impression of "stay away, fend for yourself", whilst the other forms of travel appear to be "we'll try and help you, but there's no promises". For many people, that appearance counts for a lot more than what actually happens.