Conforme avanza el tiempo el soporte para nuevas características de los Navegadores web se extiende, hasta el punto en el que es casi necesario contar con JavaScript para poder aprovechar al máximo las características de ciertas aplicaciones web. Una de las bondades de este lenguaje, es que parte del procesamiento se pasa del servidor hacia el cliente, reduciendo la espera por parte del cliente.
Por otro lado, los desarrolladores pareciera que están abusando de este tipo de características, volviendo la navegación torpe e inestable. Esto es porque JavaScript aún no se ejecuta de forma tan fluida como otros lenguajes de programación, incluso hablando de lenguajes de lado del servidor.
Un punto negativo al utilizarlo mucho, es el tiempo en el que estos archivos tardan transfiriendose, ya que normalmente son archivos muy pesados, llegando a medir muchísimo más de lo que podrían medir varias imágenes, por lo que en ocasiones la experiencia del usuario se torna para el lado contrario.
No es lo mismo dejar que el navegador realice una petición, a que por medio de JavaScript se realice. Aunque son parte del navegador, pero son métodos distintos que funcionan de forma muy distinta.
Esto es solo una nota personal basada en la experiencia, y sin tratar de entrar en detalles técnicos. Ante todo: Prueba y Error.