In my opinion they made the first error already there: An application that offers many features can't be mastered fully by everybody. And people often do things as they were used to for many years. The only thing you can try is to get a good structure how your features are sorted and organized in the application so that people intuitively find what they are looking for - if they would look up (and many don't - just when you ask them what features they would like to have they start inventing and thinking).
- Ribbon bars are no guarantee for a well structured organization of program features.
And indeed, Microsoft didn't organize many things well. For instance I do not know why the macros are under "View".
- Ribbons take more space than normal menus and toolbars.
This might not be very important for big screen resolutions but when I use bigger resolutions and larger monitors I want to reduce the window size to see more windows and not one window bigger.
- Buttons are different sizes and according to Murphy's law those I need are tiny and those I don't are huge.
Microsoft (or the appropriate software designers) decided about the size of particular icons in the bar. They adapted it to the desires of the mean user. But who is the mean user? This is a person that in reality does not exist. And so some button sizes can fit for some users.
- Ribbons are a replacement for toolbars and not a replacement for menus.
When introducing ribbons Microsoft dropped the pull-down menus. But on the ribbons only a few features are displayed and many are hidden behind a very tiny button on the lower right. If they would just have dropped the old toolbars for the ribbons then I would have understood more.
- Buttons are not general in line.
The buttons on the ribbons are not always ordered next to each other. Some are left and right others are above and below. This makes it more difficult for the user to get along.
- Ribbons are not customizable.
Older Office versions had completely customizable toolbars. With the introduction of the ribbons this feature has completely gone.
Just a side note: There are free Ribbon components for Java (Flamingo) available (and I guess also for .NET although a quick search on Google only showed up commercial variants). So it is not a matter of inability to create such a GUI why I don't like them.