Cita: Apenas he curioseado alguna de ellas, y me parecen bastante complejas para las situaciones normales... y dudo que sean necesarias cosas complejas en las páginas web...
Para paginas normales no, pero para aplicaciones web puede ser util e incluso necesario para optimizarlas (repartir la carga entre cliente y servidor). Cada dia estamos viendo mas servicios o aplicaciones web por Internet, nadie negará que es un hecho.
Sobre si es mejor programar con el lenguaje nativo o usar framework: Yo solo digo que si en mi trabajo tuviera que programar todo en nativo, mi jefe estaría cada 2 x 3 riñéndome de porque tardo tanto en sacar adelante los proyectos. Los frameworks sirven principalmente para eso, para facilitarnos un poco la vida a los programadores. Hay rutinas o codigos que tenemos que recurrir a menudo, y en un proyecto grande vemos que se repiten mucho a veces estos codigos, los frameworks simplifica estos codigos, ademas de que nos aseguramos que es cross-browser.
Eso sí, si alguien no conoce javascript y aprende directamente un framework, puede ser un error. Lo ideal es conocer lo básico de js y utilizar FW. Y no hace falta que sean proyectos medio-grandes, una vez te acostumbras (como yo), las paginas sencillas salen enseguida.
Lo de crear uno su propio framework, bueno, si son cosas muy concretas y personalizadas me parece bien, pero para las cosas básicas y cuotidianas, si ya hay varios frameworks para usar, constantemente revisandose y utilizado por otros sitios, porque no usarlo? Asi, el tiempo que ganamos lo empleamos en mejorar los proyectos en vez de en "crear" lo que ya hay en realidad.
Añado:
Y sobre el mantenimiento del codigo? Los FW simplifican bastante el codigo y hace que cuando revisemos algo de hace 8 meses, nos sea menos "traumatico" entenderlo (en el caso de que no estuvierda documentado el codigo claro jeje)
Y sobre aprender desde cero un FW sin saber javascript... es como si alguien para un examen de mates se memoriza los problemas de clase en vez de entender como se hace. Ni un extremo ni otro :P