Even though Microsoft programs can usually do what you need, they are often clumsy and annoying to use. My guess is that this stems from a fundamental difference between Microsoft and Apple:
Obviously, the Apple programmers don't always listen. (The famous example is dragging a disk to the trash to eject it.) But at least they don't control the designers!
Toolbars are a good idea because they give the users another way to perform actions. However, the standard implementation is far from perfect.
First of all, the pictures on the butcons (I refuse to use the About Face spelling of buttcon!) should appear next to the corresponding items on the menus so beginners will have an easier time making the connection. The program should also provide the option of displaying text only or text+picture on the butcons. This takes up a lot more space, but I know some people (including me) who insist on using Netscape this way. It makes it easier to learn the pictures, and also makes it easier (and faster) to hit the darn things when moving the mouse in from far away.
Most users don't use more than a small fraction of the butcons in a typical toolbar. The default toolbar setup of most programs is enough to overwhelm many inexperienced users. (I like to call it line noise.) What the user really needs is the ability to add exactly those menu items that they use the most and for which they don't want to remember key shortcuts. There should also be ways to rearrange the butcons into groups that are meaningful to the user.
Tool tips (those little yellow rectangles that tell you what each meaningless picture represents) are a great way to remind power users what each butcon does, but they should also include the key shortcut. In a program that relies primarily on the mouse (e.g. a drawing program), toolbars are the fastest way to access most commands because the user is already holding the mouse. However, in a program that relies primarily on the keyboard (e.g. a word processor), key shortcuts are often much faster because the user already has his hands on the keyboard.
In many programs, toolbars would be far less necessary if Microsoft's key shortcuts didn't suck. The user would have a lot less trouble learning the shorcuts if they had some relation to their menu items. Ctrl-Q makes much more sense for Quit than Ctrl-F4. Toolbars can in fact make commands harder to find because they do not group items together under headings the way well designed menu titles do. (This is less of a problem if the user can group them.)
Another example of Microsoft's mistakes is the way they provide access to the file system. The Explorer shows the file system as a tree in a single window, while the hard disk icon on the desktop allows one to display each directory in a separate window. This means that the user has to deal with two different kinds of windows, which proves that Microsoft missed the main point of Macintosh® System 7. The genius of this presentation is namely that the two views work together so one only needs one kind of window. For every subdirectory of every directory, one can choose whether to open a separate window or display it in a tree. This gives the user far more flexibility and makes it much more enjoyable to use.
As a final example, consider the visual feedback when the user drags something from one window to another. Microsoft's standard says that the cursor should change to indicate whether or not the drop target will accept the data being dragged. This is completely backwards! The user is always dragging the same data, regardless of whether or not the current target will accept it. It is the target that should change to show whether or not it will accept the drop.
Cooper, Alan. About Face, The Essentials of User Interface Design. Foster City, CA: Programmers Press, 1995.
Norman, Donald A. The Design of Everyday Things. New York, NY: Currency Doubleday, 1988.