O "problema" é que MVC foi criado para arquitetar interfaces gráficas. A Controller deveria ouvir eventos de input direto do usuário, sem passar pela View, então alterar a Model e a View ouvir a Model para então atualiza a UI que por sua vez é ouvida pela Controller e assim por diante, sempre num sentido só Controller -> Model -> View.
Na web a Controller não tem a autonomia de ouvir a UI, porque é geralmente um script no servidor e a View não tem autonomia pra ouvir a Model porque a View é um documento no cliente que precisa fazer uma requisição pra Controller pra entender alterações. Acaba ficando Controller -> Model -> Controller -> View -> Controller ->. Tudo vai e volta pela Controller.
Entre outras diferenças...