There are alot of things that you can do with the API that you cannot achieve with creating a ribbon with the cui editor and adding it via the autoloader. If you just have a couple commands that you want to display a button for then by all means go ahead and use the autoloader to load your ribbon. But you are missing out on alot of great things that are available via the ribbon api. I have started playing around with creating all of my ribbon panels via wpf and placing them on a tab. This allows me to let the user change settings on the fly without having to resort to commandline settings, a big bulky palette, or even a popup window.
For instance, I have a button that inserts equipment in AutoCAD MEP. When that button is pressed it starts the insert command but it also brings up a new panel on the ribbon that will allow the user to select manufacturer, type, size, elevation, etc. They can go with the last value used which was already populated or they can make the change on the fly before inserting. Another scenario involves creating an equipment pad. They can start the command and choose the height, width, and depth, and apply checkmarks on options to auto dimension or not. All of this on the ribbon using the API. That kind of customization is not possible with just the CUI editor and the autoloader.
The downside (and not sure it is really a downside) is that the user cannot customize your ribbon tab. In my case I do not want them to. To me it is not any different then having the same controls on a palette. They are not able to customize that either by default.