Basicamente, a diferença entre os dois é que um é escrito da maneira antiga, enquanto o outro é escrito da maneira moderna. Pessoalmente, prefiro o script moderno usando as definições interna, esquerda, externa e direita, porque elas são mais explicativas e tornam o código mais legível.
Ao lidar com junções internas, também não há diferença real na legibilidade; no entanto, pode ser complicado lidar com junções esquerda e direita, pois no método mais antigo, você obteria algo assim:
SELECT *
FROM table a, table b
WHERE a.id = b.id (+);
A descrição acima é a maneira antiga de como uma junção esquerda é escrita, em oposição ao seguinte:
SELECT *
FROM table a
LEFT JOIN table b ON a.id = b.id;
Como você pode ver visualmente, a maneira moderna de como o script é escrito torna a consulta mais legível. (A propósito, o mesmo vale para as junções direitas e um pouco mais complicado para as junções externas).
Voltando à placa da caldeira, não faz diferença para o compilador SQL a maneira como a consulta é escrita, pois lida com eles da mesma maneira. Eu já vi uma mistura de ambos nos bancos de dados Oracle, que tiveram muitas pessoas escrevendo nele, tanto as mais antigas quanto as mais novas. Novamente, tudo se resume a quão legível é o script e a equipe com a qual você está desenvolvendo.