Consider that the same applies to crashes in any system that does not provide you with a means of reading back the status of your previous delivery attempt.
Such as, e.g. a remote mail server if the operation was to send mail to take an obvious one.
In other words: The server does not need to go permanently offline - it may be sufficient for the established session to terminate.
The problem isn't that "nobody" ever hears from the server again. The problem is that "not everybody" ever hears from the server again. If you aren't sure that the server received your write, but another system (that does have access to the server) depends on the result of that write.
The point is that temporary network partitions happen and you can't guarantee delivery without expensive coordination. Sure, exactly-once is possible in environments where network partitions don't occur. Unfortunately, we don't live in that world.