Uso frameworks. Más especificamente, el Zend.
Las ventajas principales son no solamente acelerar el desarrollo sino también proveer una estructura extensible.
Un ejemplo es wordpress (que no es un framework pero sirve como ejemplo). Es MUY lento, y más cuando uno le agrega extensiones. Pero una vez configurado se puede dejar de tal forma que las páginas sean cacheadas y servidas como HTML sin procesar nada.
Por lo que termina siendo más rápido y eficiente (y cómodo de extender) que un programa hecho por uno mismo.
Aunque claro, la experiencia de aprender no la quita nadie, así que la mayoría de las cosas que uso de wordpress las he desarrollado en alguna otra ocasión.
Si es para aprender, uno no solo puede sino que debería plantearse el desarrollo desde cero de algunas partes.
Pero tener una base sólida de la que partir que permite que uno solamente tenga que programar la lógica de su aplicación, en vez de estar programando una y otra vez los mismos componentes "básicos".
Claro que si uno programa esos mismos componentes básicos de forma más eficiente, segura y más acorde con lo que necesita, bienvenido sea
Saludos.