In addition to extending NetBeans by developing custom functionality as plugins, NetBeans can also be used to develop rich client platform (RCP) applications.
You might be wondering why would you create an application using NetBeans as the foundations of your application, why not just develop it as a Swing application? NetBeans offers many advantages over building a standalone Swing application.
When you've developed desktop application, how many times have you had to write code to handle toolbars or menu items? How many times have you had to write code that allows you to manage windows and allows interaction between different windows? The NetBeans RCP provides all of this functionality and more.