> ... not to mention an opportunity to avoid wasting time reinventing tedious and trivial wheels when they could instead be devoting effort to thinking about how their application could do things that are interesting (and/or that somebody might actually want to pay for)
That is supposed to be the benefit for any 'framework', and for successful ones with actual users ( sqrt(n) > # of framework developers) it works to some extent. The diversity of approaches to building web applications that is so visible in the python world may be due to the ease with which ideas can be dressed out in python, and the social incentives for being a framework developer. Other languages have the same diversity of approach but don't see it as being as much of a problem.
I wonder if the 'web applications are engineering projects' metaphor is a good map for the problem space. There may be others that would give us better mental tools for dealing with different classes of projects, perhaps 'web application styles are like literary forms'; we all know the difference between a short story, a sonnet and a sales pitch, and what situations each is appropriate for, and that some forms are more structured than others, and can make better use of predefined components.