> It breaks poems
Which almost always have short lines and are almost never actually broken by soft-wrapping for any reasonable viewport size
> code
Which shouldn't be hard-wrapped in the first place
> ascii art
Which usually also have short lines, and if it gets wrapped, you can zoom out (which you usually want to in order to see the ASCII art anyway)
> emails
Which shouldn't be hard-wrapped in the first place either
> man page
Which also shouldn't be hard-wrapped in the first place
Half of the things that you're talking about are not broken by Safari, they're broken by hard wrapping (and the other two are unlikely to be broken in the first place and make up a tiny minority of content). As stated upwards, hard-wrapping is incorrect almost everywhere. (poems and ASCII art are not "hard wrapping" because the linebreaks are part of the content, and adding the required newlines is not "hard wrapping" any more than adding a newline between paragraphs is "hard wrapping")
> It is only the right choice for plain text books.
It's always the right choice, because it wastes screen space and causes reading headaches because you do not have a crystal ball and you do not know the user's screen dimensions and font size.
If you hard-wrap to 80 characters and the user's viewport size (whether for web browsers or terminals, doesn't matter) is 160 characters, you are wasting 50% of their screen space by hard-wrapping. If you hard-wrap to 80 and their viewport is 79, you are also wasting 50% of their screen because every other line will have a lone character on it, which also causes massive reading problems. These statements are factual.
> To be noted, on windows + touchpad, you have 2 different zooms (in Edge and in Firefox at least): a font zoom and a pinch zoom. So on notebooks, both fixed-length text files, and both book type text files are readable.
This is a useful feature in general - but it does not excuse hard-wrapping. Not all platforms have these features (and they're unavailable in terminals), and imposes the author's column width on the user. If I want more than 80 columns of text, I should be able to get it.