Eu trabalho para o meu governo estadual e, como resultado, a maior parte do meu desenvolvimento envolve sites interativos baseados em dados. Consultas contra dados históricos, envios de formulários, coisas assim. Mantemos nosso Javascript no mínimo absoluto, pelos seguintes motivos:
1) A validação das entradas do formulário sempre deve ocorrer no lado do servidor, nunca no lado do cliente. Se você tentar validar suas entradas no lado do cliente, tudo o que um hacker precisa fazer é criar uma cópia local da sua página da web e reescrever o Javascript para permitir o que ele deseja enviar (injeção de SQL, etc.). Sua validação deve ocorrer em algum lugar sob seu controle exclusivo, ou seja, no servidor.
2) Muitos usuários desativam o Javascript ou usam um navegador que pode não implementá-lo corretamente. Sendo o governo, temos que apoiar a todos, mesmo que estejam usando equipamentos realmente REALMENTE antigos. HTML funciona em qualquer lugar; Javascript, nem tanto. Ao não usar Javascript em suas páginas da Web, você oferece uma área muito pequena na máquina cliente, usando poucos recursos. Isso maximiza o número de pessoas que podem acessar seu conteúdo. Pelo mesmo motivo, você não deve ficar muito maluco com seu CSS. Mantenha-o simples, mantenha-o limpo e permita que as velhinhas vejam seu site, mesmo que o computador tenha sido comprado em 1999 (aliás, recebemos chamadas de suporte técnico de pessoas como essa).
3) Javascript, sendo uma ferramenta preferida por "desenvolvedores da Web", em vez de programadores do lado do servidor, tende a ser bastante feio. E os designers (que costumam ser os desenvolvedores da web, se quiser ser sincero) tendem a não ver o problema ao baixar "scripts" de lugares aleatórios da web. Eles dizem coisas como "por que reinventar a roda?" e "Não inventado aqui". Então, em vez de escrever seu próprio código, eles geralmente saem para pegar algo de outro site, pensando que, se estiver na internet, é um jogo justo. Existem dois problemas com isso: A) eles podem inadvertidamente postar algum Javascript malicioso que leva um tempo para serem capturados e B) eles podem violar os direitos autorais de alguém e processá-lo. Ambas as situações devem ser evitadas.
Em geral, Javascript é uma má ideia. Qualquer código do lado do cliente é uma má ideia. O lado do cliente deve conter apenas linguagem de marcação e CSS; deixe o lado do servidor lidar com o trabalho pesado.