Although referencing does allow you to update the components without recompiling your code (like mentioned above), I don't think this is the biggest advantage, since updating the components would be the same as updating MY component (I still do update, no matter what). I think the biggest advantage from referencing versus builtin controls is speed and control. You see, builtin controls are wrapper classes that do some of the work for you. If you add a control to a form, the control instance will be created when the parent class (in this case the form) is initialized. When you reference an object, you get to create an instance whenever you need, thus, eliminating unnecessary load and improving performance.
Unfortunately VB hides most of the class implementation details, but if you want to see all this for yourself, check out some C++ or .NET code (meaning all languages within .NET) out there!
Good luck!