Alright, I’ll start by admitting I was wrong, all wrong: using frameworks isn’t a sign of laziness or incompetence. Today’s frameworks aren’t yesterday’s Hot Scripts or Dynamic Drive slop. They aren’t Dreamweaver cruft or FrontPage junk. Using them requires more than cutting and pasting; you use them better if you understand their basic technologies of JavaScript, CSS, and HTML. And you use them as replacements for something you do indeed know how to do by hand, but find so time-consuming or boring that you’re thankful somebody has provided the means for you to accomplish those tasks quickly.
Basically,
Frameworks are tomato paste, not cake mixes.
By “cake mixes,” I mean those boxes of processed ingredients, to which you just add one or two more, stir, then bake into the final product. The process requires very little time and almost no culinary skill. The mixes were first widely marketed in the 1940s to women who were anxious to produce acceptable cakes at home, despite time constraints in the servantless households of the post-war era.

Hmm, jQuery or Prototype?
Image courtesy of saltycotton
Cut ‘n’ paste scripts or visual editor snippets work a lot like these mixes–there isn’t much tailoring you have to perform to have them function in your project. And like cakes baked from mixes, the discerning won’t mistake them for something made from scratch.
But sometimes you can obtain outstanding results using a pre-made ingredient. One staple in many households is tomato paste, which replaces the lengthy process of transforming ripe tomatoes into concentrate. Yes, maybe using the freshly made paste would be superior, more satisfying–or maybe it wouldn’t. Most likely it would be drudgery, just as typing document.getElementById() can be. If your recipe is for the sauce, not the paste, spending so much time on one ingredient is inhibiting. So why not use a framework to get to your real project goal sooner and with less effort?
After all, frameworks don’t remove the challenge from the project. They take over the dull, utilitarian portions of it, like constructing a grid layout or a database query, freeing you to fret instead over PNG transparency in obsolete versions of Internet Explorer (no, wait; a framework could handle that too). Once you configure the framework, you’re freed to do more interesting tasks, such as choosing other frameworks to assume yet more of the burden. Certainly it feels odd the first time you let something like Blueprint float all the columns, but that shouldn’t be confused with weakness.
Think of all that time you can now use to make your own tomato paste.