Either the writer has to wrap lines, or the reader has to.
Or both, if you want the downsides combined.
With the first approach ("hard wrap"):
Pretty much only monospaced fonts work.
A narrow screen (or window) results in either jagged lines or lots of horizontal scrolling.
Certain line breaking patterns are annoying.
For example, an "I" at the start of a sentence at the end of a line longer than its neighbors.
To wrap lines automatically, the text editor must "understand" the structure of the text somehow.
That is not trivial — go have a look at vim's help for 'formatoptions'.
With the second approach ("soft wrap"):
A line break just before a long word may create a weird gap,
which the writer cannot avoid because readers may use varying widths.
If the software that presents text does not wrap lines at all,
the reader gets more horizontal scrolling than with hard wrap.
To wrap lines automatically, the software that presents text must, again,
"understand" the text somehow, which builds complexity into every reader.
Think paths or URLs or code.
Unicode line breaking rules are... complicated and does not always work.
(I lied to you when I said no Unicode.)
Sure, one can insert NBSPs, WJs, and ZWSPs where needed,
but that is so much hassle that even TeX users often ignore them.
I think Unicode allows a line break between the two "+"s, or after the "C", in "C++".
My current approach, inspired by textplain.blog,
is to hard wrap and justify lines by tweaking word use and the like.
This looks pretty, but has downsides:
Like regular hard wrap, this only works well with monospaced fonts and screens that are wide enough.
It takes time and practice, and gets harder the shorter the lines and the longer the words.
ext written in this style is hard to modify, for obvious reasons.
Update 2025-12-12
I turned to HTML and embraced soft wrapping.
Manually justifying text often pauses me while writing,
interrupting my natural flow of thought.
I now write HTML with generally one sentence per line.
I overlooked the accessibility implications when I turned to plain text.
While certainly enough for simple essays,
the almost complete lack of machine readable structure
turns into an accessibility nightmare once, for example, code is involved.