personalmente creo que para las aplicaciones sean sencillas o complejas se debe programar a pie, eso si, trabajando de manera (POO) programacion orientada a objetos, organizando bien nuestra aplicacion con componentes, mantenimientos, procesos, etc. para poder tener los beneficios de la POO como son la herencia y el polimorfismo. Y aunque me guste trabajar a pie,me gusta usar sajax, me parece que potencia mucho el proyecto en desarrollo.
Referente a los sitios web aun soy novato , me parece que joomla 1.6 es fenomeno , Me cuesta pensar hacer portales con otra herramienta o de otra manera.
Saludos , espero te sirva