Em que os dois formatos de fato se diferenciam
Menos do que pode parecer, mas o bastante para um falhar onde o outro funciona. Um arquivo WebVTT é obrigado a começar com a palavra WEBVTT na primeira linha; se ela não estiver lá, o navegador joga fora o arquivo inteiro sem avisar. Os milissegundos são separados por ponto, não por vírgula. E a numeração sequencial, obrigatória no SRT, não tem papel nenhum aqui.
Existe uma quarta diferença que faz a maioria dos conversores simples falhar: no WebVTT, o texto é interpretado como HTML. Um «e» comercial ou um sinal de menor sem escape é lido como marcação e pode alterar o resto da linha. Aqui eles são escapados do jeito certo antes de o arquivo ser gerado.