Oi.
A chamada da função "calculaImc(100, 1.70)" não entrega o resultado da variável "resultadoImc" diretamente, pelo fato de que o código segue um algoritmo, uma sequência.
Quando se chama somente a função, com os parâmetros para o cálculo, o resultado é apresentado e o código se encerra:
function calculaImc(altura, peso) {
var imc = peso / (altura, peso)
mostra("O imc calulado é " + imc);
}
calculaImc(1.71, 73);
No entanto, especificamente na dúvida que você trouxe, o código continua, a função está sendo chamada dentro de uma variável e depois, no final do código, outra função é chamada para mostrar o resultado.
Ou seja, para ser mostrado o resultado é preciso retornar, ou, pôr na sequência do código, o algoritmo do cálculo IMC, que se encontra dentro da função "calculaImc(altura, peso)" na variável "imc", que será sequenciada antes da variável "resultadoImc", que vai realizar o cálculo com a informação recebida, e a solução será exibido no final do código.
Portanto, conforme consta em https://developer.mozilla.org/pt-BR/docs/Web/JavaScript/Reference/Statements/return:
"A declaração return finaliza a execução de uma função e especifica os valores que devem ser retornados para onde a função foi chamada."
Espero ter ajudado. Bons estudos!