The vast majority of web applications are written without the use of a framework and lead to very few opportunities for real re-use. Consider how messy something as simple as a signup form can be. Such a form typically consists of:
A source block of HTML in some web page that displays the form.
Some PHP/Perl/Python/ASP/JSP code embedded in the HTML page or referenced by it to do some preprocessing.
Javascript code tied to events in various form fields such a form field validation.
Cascading style sheet entries used by the form fields and surrounding text.
graphics
A destination HTML page that validates the form variables, does any database queries, possibly sends out confirmation emails and then displays some landing page.
Once developed in this fashion, consider how difficult it is to reuse this form. Unfortunately the backend ASP/JSP/PHP/Perl/Python code is typically embedded right into the HTML either verbatim or via an include mechansim. More often than not that code produces output that includes design elements that need to match the page. Javascript code is directly linked into the particular structure of each page. From an abstraction point of view, its a mess and as a result makes it very difficult to re-use any one piece without alot of modification.
Clearly, if we did it by hand we would never get MOBIE done with the development resources we had.