ASM
"You probably don't want to be writing your own framework anyway "
That's a great big stinking "probably", and requires an "unless" clause of almost infinite length, but which could probably be summed up as "unless you are working on a project that neatly lends itself to, or requires, this kind of approach".
I've one application under development that would be pretty useless without such an approach (a cryptanalysis tool which requires the ability to have further analysis functionality modules added by the user as they become aware of different techniques and approaches) and previously coded one which actively required a plug-in framework (Linux based custom PalmOS interface for multiple custom application conduits).
Or what about an experimental video processing application, which requires the ability to add various custom filters and processing steps in an arbitrary (and mutable) order along the path from I to O, the nature of most of which are unknown at the time of coding (hence the 'experimental' nature) ? That just screams out for a framework approach, and indeed for a pluggable architecture.
Perhaps if all you do is tedious corporate data slinging and MIS reports, you may wish to shy away from the "framework" approach, but adopting it in even measure at the correct parts of your system can still have benefits (e.g. pushing MIS report design and customisation back to your users, where it belongs)
"(or even seeking out a third-party one, for that matter)"
Sure, sod things like QT, .NET, WPF, J2EE, Spring, all the PHP and Python based frameworks, Rails, and all the rest of them, just write all your own code to do everything from the ground up, that's a far more useful way to spend your time and money, and besides, reinventing the wheel is great fun.
Hell, why not just code everything in assembly!
@Rich
"...and I can't help we're falling into the "extreme programming"-type nonsense of pointing out the bleedin' obvious."
Or more accurately, "what was bleedin' obvious for the narrow range of projects that the author has worked on, once it has passed through their methodology zealot filters ".
I hate to keep posting the same response to the Agile/Xtreme crowd, but in programming, one size most definitely does _not_ fit all, and I'm tired of being told that it does.