Почему есть 2 функции, которые делают то же самое? Они оба добавляют перенос строки.
Есть ли разница между ними?
Это не имеет ничего общего с PHP и является следствием истории:
\n
\r
PHP только что сохранил такое поведение - поэтому он может работать с этими различными операционными системами и их файлами.
Также обратите внимание: