O paralelismo é um dos principais motivos de variação na velocidade dessas ferramentas. Outro fator que contribui é o tempo que eles esperam por uma resposta antes que o salto seja considerado como não respondendo. Se o DNS reverso for executado, você deverá esperar por isso também. O comando plain traceroute fica muito mais rápido se você desabilitar o DNS reverso.
Outra diferença importante, que eu não vi mencionada, é como as duas ferramentas processam a saída. O traceroute produz a saída em ordem de cima para baixo. O Mtr renderiza a saída de uma maneira diferente, onde o mtr pode voltar e atualizar a saída nas linhas anteriores.
Isso significa que o mtr pode exibir a saída assim que estiver disponível, porque se as respostas posteriores fizerem com que a saída não seja precisa, o mtr poderá voltar e atualizá-la. Como o traceroute não pode voltar e atualizar a saída, ele precisa esperar até que finalmente decida o que será exibido.
Por exemplo, se o número do salto 2 não estiver respondendo (que é um sintoma que já vi em vários ISPs), o traceroute exibirá o número 1 do salto e espere um pouco antes de exibir os números 2 e 3. Mesmo que a resposta do número do salto 3 chegou, ele não está sendo exibido porque o traceroute ainda aguarda a resposta do número do salto 2. Mtr não possui essa restrição e pode exibir a resposta do número de salto 3 e ainda voltar a exibir a resposta do número de salto 2, se chega mais tarde.
Muito paralelismo pode fazer com que a saída se torne imprecisa. Em alguns cenários, há limites para quantos pacotes você pode obter respostas. Enviar mais pacotes nesses casos não acelerará o processo, mas causará mais perda de pacotes, pois você obtém o mesmo número de respostas com o envio de mais pacotes.
Um exemplo disso é quando um salto na rota não responde às solicitações de ARP. Normalmente, o primeiro pacote acionará uma solicitação ARP e, se mais pacotes chegarem antes que a solicitação ARP atinja o tempo limite, apenas o último desses pacotes será armazenado em buffer e obterá uma resposta.
Outra diferença está em quantos saltos sem respostas serão exibidos antes que a ferramenta pare de exibir mais saltos. Vi o comando traceroute continuar por tantos saltos quanto solicitado (30 por padrão), enquanto o comando mtr parava assim que passava cinco saltos sem respostas.