É completamente normal que qualquer sistema de mínima complexidade seja desenvolvido utilizando várias linguagens de programação, da mesma forma que na construção de uma casa utilizamos uma variedade de ferramentas, como martelo, furadeira, chave de fenda, entre outras. Cada ferramenta tem uma função específica e é essencial para determinadas tarefas no processo de construção. Analogamente, existem diferentes tipos de problemas na computação, e cada linguagem de programação possui características que a tornam mais adequada para solucionar certos tipos de problemas.
se é um software web, porque não utilizar só o Javascript?
Assim como você não usaria um martelo para apertar um parafuso quando uma chave de fenda é a ferramenta adequada, você não escolheria a JavaScript para lista de coisas absurdas que estão fazendo. Acho que é estou me referindo à lei de Atwood, Ha! Porque o JS é a ferramenta adequada para manipular o DOM, qualquer coisa além disto, há contreversas, com razão. Não é por que qualquer coisa possa ser escrita em JavaScript, que ela deva ser escrita em JavaScript.
Utilizar uma diversidade de linguagens permite que os desenvolvedores tirem proveito do melhor de cada uma, otimizando a eficiência e a eficácia na construção de soluções complexas.