Estimado tute666:
Las ruedas son redondas, sirven para pasarle un eje y hacerlas girar... ¿desde cuando las ruedas que no son redondas sirven para otra cosa?
Cuando un tipo de rueda no sirve, se prueban los modelos existentes, en el 99.99% de los casos no se justifica reinventar una "rueda redonda".
Lo de "arbitrariedades de diseño" suena como "diseño sin rumbo", cuando en la mayoría de los casos es simplemente que no tuvimos tiempo para entenderlo.
Lo que veo es que se pierden en el concepto, un "framework" es una caja de herramientas, justamente, para poder reusar sus componentes que ya resuelven muchos problemas por nosotros.
Sí existen distintos niveles de frameworks, algunos de más bajo nivel y otros de alto nivel. Consideraría un "Ruby On Rails" algo de más "alto nivel" ya que tienes que trabajar "si o si" con su filosofía y si sales de ella se disparan los costos (en mi humilde experiencia), pero, algo de más bajo nivel como Zend te da las herramientas más elementales para poder tú construir otras herramientas de más alto nivel, que a su vez puedes incluir los componentes aislados de Zend en tu propio Framework (esa es una de las razones por qué varios sugerimos su uso).
Un Framework es más que MVC y más que alguna clase de abstracción de base de datos. Solo la
lista de componentes de Zend debería servir de ejemplo (Zend_Log, Zend_Soap, Zend_Ldap, Zend_Paginator, etc).
Pregunta: ¿tú framework tiene resueltos todos estos problemas o los vas desarrollando ni bien los vas necesitando? Bien, si es lo último, entonces ahora tienes el doble de problemas: 2 aplicaciones con sus problemas y ciclos asociados (desarrollo, testing, bugs, etc).
Usar productos estandarizados tiene su beneficio -indudable- en la productividad de cualquier desarrollador o equipo de desarrolladores.