... yet another example for the abuse of the MVC-Concept in a context that doesn't support MVC?
First, I must admit that I didn't read the JSF spec, but I'm familiar what JSF is.
I do not agree that JSF abuses MVC. Classic approach to development of web applications is very, very well suited for MVC approach, because there is natural and physical difference between the View (a web page, a HTML document) and a controller (i.e. servlet code running in the web container). But for event driven UIs (like windowing systems) MVC approach doesn't fit that extremely well, although it fits pretty well. When MVC is applied to event driven UIs then controller and view tends to be more mixed and line between them is somewhat blured. This is natural, because the code for controler and the code for the view are tightly connected by event dispathing mechanism.
JSF, as an event driven component system for web applications, also slightly couples view and controler as any event driven UI system does. I would not be concerned about this because this is natural for event driven UIs and development of complex UIs using event driven approach has been proved to be the most productive way.
Also, JSF is not the only and the best way to go for all web applications. For example, for corporate intranet applications that are developed as web applications only because they need to be accessesd over HTTP from remote sites, and that need a rich UI, I would use JSF (although true rich client using swing and EJB/CORBA/RMI should be considered seriosly for this scenario). But for web B2C sites like Amazon I would stay with JSP + JSTL and just maybe some poular web framework like struts.
Further, the MVC pattern has weaknesses, too. For example, when applying MVC, the presentation logic is often mixed with business process logic (under 'business process' logic I mean the business logic that correspondes to business process and do not naturally fit in the model code). Of course, good developers will differetiate and decouple presenatation and business process logic, but MVC as a pattern does not enforce this difference.
Mileta