Nja, im Grunde kommt es von Plottern/Druckern, die von Schreibmaschienen abstammen.
NL aka #10 geht nur runter in die neue Zeile, bleibt aber in der Spalte
CR aka #13 geht eigentlich nur nach vorne, bleibt aber in der Zeile
Linux/Unix nutzt #10
Apple nutzte anfangs #13 als Zeilenumbruch (seit paar Jahren #10)
Windows #13#10, aber vielerorts alternativ auch #10
So gesehn war Windows eigentlich der Einzige, der es mit #13#10 richtig macht.
(keine Ahnung, warum Windows-RichEdit es stattdessen mit #13 macht, weswegen Delphi hier leider am TRichEdit dran rumpfuscht)
Hier ist dann einer der Vorteile vom erwähnten sLineBreak, denn je nach Zielplatform (Windows, Linux, Android, iOS/OSX) ist es was Anderes.
In neuen Computersystemen wird beides oft als das Gleiche interpretiert -> "neue Zeile beginnen", also runter und nach links zum Anfang.
(nicht immer ... einige Windows-Komponenten behandeln z.B. #10, aber auch alternativ manchmal #13, gern nur als 0-Pixel breites "Zeichen" und machen sonst garnichts)
In alten EXCEL-Dokumenten oder einigen "
CSV"-Implementationen wurde #10 und #13 gern absichtlich
gemischt gleichzeitig genutzt, also z.B. #10 als Wert-Trenner und #13 als Zeilen-Trenner,
aber sonst ist es selten eine gute Idee es zu mischen und besser nur eine Variante zu nutzen.
PS: Da auch der Delphi-Editor damit gerne einige Probleme hatte, gibt es seit einer Weile die Option, die Zeilenumbrüche beim öffnen einer Datei/
Unit "reparieren" zu lassen.