
Oh, no, Drupal pregenerates the stinking morass for you. ;)
Well, it's not really as bad as that. But the person in this thread who pointed out that Drupal development is the art of compromise was on the money. And the learning curve for Drupal 5 can be rather like scaling a sheer cliff. It all depends on what you're trying to do, though. If you're willing to compromise your goals to fit the scope of things that you can convince Drupal to do right out of the box... it works out of the box!
Get a book or two. The Lullabot.com folks seem to be good teachers. In particular, if you find yourself wanting to write PHP for Drupal, get a copy of Pro Drupal Development and sleep with it under your pillow.
As it happens, my email thing is not public code. But perhaps it could be. I seem to have already identified one potential user! But the stuff I wrote would have to be factored out and turned into a plugin for Organic Groups, or perhaps interfaced with the Actions Module.
Now that my biases are clear: You should take up Drupal. It's a big system with a lot of architecture, but the core is not too big; it's being hacked on by many thousands of people and is continuously evolving as the community learns; and it hits a sweet spot between being well architected and being open to the kind of simple cut-and-paste anarchy that makes PHP thrive -- it's designed to let you obsessively customize everything, but it tries to encourage you to contain your creativity within pluggable modules that can (at least in theory, but often in practice as well) be manipulated by noncoders.
If you want to try Drupal and you are a coder you must read VanDyk's Pro Drupal Development, Second Edition ASAP. Trust me on this.
As for Javascript, which is arguably more important: jQuery, jQuery, jQuery. Also: Douglas Crockford, Javascript: The Good Parts. And learn your CSS if you haven't already; I did that by reading Eric Meyer's O'Reilly book, followed by Dan Cederholm's book.
The book is very good, but it doesn't really cover CCK and Views, which are two very important modules that form the center of a lot of Drupal sites. Make sure to learn about those on your own.
Visit a user group, if you've got one nearby, and ask questions.
The folks at Lullabot offer tutorials on Drupal site setup, theming, and advanced programming. They're a fun crew and I suspect their classes are pretty good, if you have the tuition and travel budget for them. Their podcast is fun also, and much less expensive. It's not tightly edited -- the individual episodes are kind of long and rambling, and you might want to listen to them with a beer in one hand, to get into the proper spirit.
I keep meaning to watch the screencasts at http://drupaldojo.com/, but somehow I never get around to it.
The non-negotiable hard part of Drupal is the theming. If you're not a programmer, but you have strong power-user point-and-click skills, there's some chance that you'll be able to assemble an ugly, jumbled version of your site. This, I think, is one of the reasons why Drupal sells so well. But then you'll want to change the order of the fields on the Comment Preview page... and you will have to spend two days or more learning the Form API and the theming system. Be sure to budget the time or hire someone who can help.