O paralelismo é uma das principais razões para a variação na velocidade dessas ferramentas. Outro fator que contribui é quanto tempo eles esperam por uma resposta antes que o salto seja considerado como não respondendo. Se o DNS reverso for executado, você terá que esperar por isso também. O comando traceroute simples fica muito mais rápido, se você desabilitar o DNS reverso.
Outra diferença importante, que não vi mencionada, é como as duas ferramentas processam a saída. 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 mtr pode exibir a saída assim que estiver disponível, porque se respostas posteriores fizerem com que a saída não seja precisa, o mtr pode voltar e atualizá-la. Como o traceroute não pode voltar e atualizar a saída, ele tem que esperar até que finalmente tenha decidido o que será exibido.
Por exemplo, se o salto número 2 não estiver respondendo (o que é um sintoma que já vi em vários ISPs), o traceroute exibirá o salto número 1 e aguardará algum tempo antes de exibir o salto número 2 e 3. Mesmo que a resposta do hop número 3 chegou, ele não está sendo exibido porque o traceroute ainda está aguardando a resposta do hop número 2. Mtr não tem essa restrição e pode exibir a resposta do hop número 3 e ainda voltar para exibir a resposta do número do hop 2, se chegar depois.
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 pacotes perdidos, já que você recebe o mesmo número de respostas com mais pacotes sendo enviados.
Um exemplo disso é quando um salto na rota não responde a solicitações ARP. Normalmente, o primeiro pacote acionará uma solicitação ARP e, se mais pacotes chegarem antes do tempo limite da solicitação ARP, apenas o último desses pacotes será armazenado em buffer e receberá uma resposta.
Outra diferença está em quantos saltos sem respostas serão exibidos antes que a ferramenta pare de exibir mais saltos. Eu vi o comando traceroute continuar por quantos saltos forem solicitados (30 por padrão), enquanto o comando mtr pararia assim que tivesse passado cinco saltos sem resposta.