A tag de script ou o arquivo .js vão ter a mesma finalidade e o mesmo resultado, mas você utilizar de um arquivo .js deixa o código mais organizado e mais fácil para dar manutenção.
A estruturação de um projeto que utilize de HTML, CSS e JS, muitas vezes é realizada por uma equipe em cada integrante é responsável por uma parte do projeto, por exemplo:
Temos a parte de conteúdo da nossa página, que será o arquivo HTML... ele será responsável por toda a parte de imagens, textos e informação disponível ao usuário que acessa a página.
Temos a parte de estilo, que será o arquivo CSS, que passa o embelezamento do conteúdo, o posicionamento e disposição dos objetos ou do texto.
E temos, por fim, o JS, que é responsável pelas ações e interação com o usuário.
Assim, ter os arquivos separados torna mais fácil o desenvolvimento, e manutenção do que for preciso.
Espero ter ajduado.
new Saudacoes();
; )