Parece que todos los que hacen aplicaciones web hoy en día quieren usar MVC para todo. Sin embargo, me cuesta convencerme de usar este patrón. Entiendo que la idea general es separar la lógica de backend de la interfaz que representa el programa. En general, parece que las vistas siempre dependen del controlador en cierta medida, lo que termina dependiendo del modelo. No veo qué ventaja me da agregar el controlador. He leído muchas exageraciones sobre "esta es la forma en que deben diseñarse las aplicaciones", pero tal vez todavía no entiendo qué se supone que debe ir a dónde. Cada vez que hablo con otros sobre MVC, parece que todos tienen una idea diferente de lo que pertenece a qué categoría.
Entonces, ¿por qué debería usar MVC? ¿Qué gano al usar MVC al separar el frontend de la lógica de backend? (La mayoría de las "ventajas" que veo de este patrón se obtienen simplemente al separar la interfaz de la implementación, y no puedo explicar el propósito de tener un "controlador" separado)