Básicamente, la diferencia entre los dos es que uno está escrito en la forma antigua, mientras que el otro está escrito en la forma moderna. Personalmente, prefiero el script moderno que usa las definiciones interna, izquierda, externa y derecha porque son más explicativas y hacen que el código sea más legible.
Cuando se trata de uniones internas, tampoco hay una diferencia real en la legibilidad, sin embargo, puede complicarse cuando se trata de uniones izquierdas y derechas, ya que en el método anterior obtendría algo como esto:
SELECT *
FROM table a, table b
WHERE a.id = b.id (+);
Lo anterior es la manera antigua de cómo se escribe una combinación izquierda en lugar de lo siguiente:
SELECT *
FROM table a
LEFT JOIN table b ON a.id = b.id;
Como puede ver visualmente, la forma moderna de cómo se escribe el script hace que la consulta sea más legible. (Por cierto, lo mismo ocurre con las uniones correctas y un poco más complicado para las uniones externas).
Volviendo a la placa de la caldera, al compilador de SQL no le importa cómo se escribe la consulta, ya que las maneja de la misma manera. He visto una combinación de ambos en las bases de datos Oracle que han tenido a muchas personas escribiendo en ella, tanto mayores como jóvenes. Nuevamente, se reduce a lo legible que es el script y al equipo con el que se está desarrollando.