Thanks for the longer explanation. With so many frameworks, I'd like to
know what benefits they offer as compared to writing an application from
scratch
Surely the obvious answer is that a framework offers the benefit that you
don't have to write the application from scratch.
Why write in Python instead of creating your application from scratch
written in assembly? Because you get the benefit of 40+ years of
collective programming language design experience, 10+ years of
collective Python experience, tens or hundreds of thousands of lines of
carefully debugged and tuned code, and a large community of users with
experience in the language, books, training courses, etc. whom you can
call on for advice (free or paid consulting) and as a pool of would-be
employees if you need to hire developers.
You wouldn't (or at least shouldn't) even *consider* writing your own
language unless you had really good reason, and no other existing
language would do.
Web frameworks are similar: you get tens or hundreds of thousands of
lines of carefully debugged and tuned code, and a community of users,
books, etc. Unless your needs are minuscule, writing your application
from scratch will end up duplicating much of the framework, only (let's
be realistic here) badly. By the time your application is as stable,
debugged and tuned as as existing framework, you will have spent probably
in excess of ten person-years.
At which point, you have a community of one, yourself. (Or possibly you
and a handful of your fellow project members.)
For anything but the smallest web applications, where no framework is
necessary, and the very largest, if no existing framework will do, why
would you even consider reinventing the wheel?