This is a common debate on most flash programming boards. The two biggest reasons for the size of the components are:
1) they're designed to be used as a group, so you take a big hit for the first one you use, and much less for each one thereafter. e.g., if you just use a listbox, you'll notice a big jump in filesize as the core libraries for components are added to your app. if you then add a radio button, you'll notice that the additional size is less than the cost of using the radio button on its own. and if you need a scrollbar, you get it for free (there's already a scrollbar in the listbox).
2) the components have a much richer featureset than you might think. they respond to keyboard control, and accessible input devices, have their own focus model, work with dataproviders, etc, etc. macromedia's goal is to make them behave like real operating system controls, so that online flash apps feel like traditional desktop apps. to paraphrase macromedia's mike chambers (www.markme.com): if you can build an equivalent feature set in less code, macromedia has a job for you.
it seems to me that it might make sense to ship "lite" versions of the components, that have a stripped down feature set. however, if everyone used those, then flash content would be much less usable and completely inaccessible.
for a long discussion about file size and component quality involving several macromedia employees (including nigel pegg, who developed most of the original mx components), see: http://chattyfig.figleaf.com/ezmlm/ezmlm-cgi?1:sss:27250#b