Lo de que un lenguaje se parece a otro... pues si, se parecen, pero de ahi a que el \n tuviera que significar lo mismo...
Y sin embargo SIGNIFICA lo mismo. No se si has caido en la cuenta que estás utilizando PHP para crear contenido web, es decir, una página web, y por lo tanto, el navegador está asumiendo que lo que tu imprimes con echo() es codigo html. Y en codigo HTML los saltos de linea son meros espacios (prueba a hacer un fichero
prueba.html con el siguiente contenido):
y visualizalo con el navegador y veras "hola mundo" pero seguido.
Así pues, por eso te han dicho que debes poner
<br /> para conseguir un salto de linea, puesto que es el código html que representa el salto de linea.
Si quieres comprobar como efectivamente los \n SI son saltos de linea "usuales", cuando veas tu página dale a "ver codigo fuente" de la página o algo asi que tendrá tu navegador y veras como si ves ahi los saltos de linea.
Un saludo
Zerjillo