The application needs to look different depending on the scenario.
Create a pluggable look and feel architecture for your application, enabling third parties to customize it.
There are several different scenarios where this pattern can be applied, and all are very common.
The ability of theming applications was popularized by consumer-oriented applications like WinAmp or ICQ, which had a large user base that included people who were willing to change the visual design of the application.
The best practice of separating code from visual design allows themes to be implemented in almost every well architected application. Frameworks such as Sencha's ExtJS and Touch (for Mobile) enables developers to build applications without worrying about the visual design, and enables designers to theme most applications.
The look and feel of a desktop application may need to be changed for several reasons. Market research may offer insight into current visual design trends that could offer users an enhanced perception of the product; or the capability of branding an application to conform to a customer's corporate standards may be a valuable selling point.
There are different levels of customization, from letting the user change fonts and colors, to offering the user a selection of comprehensive layouts, shapes or UI controls.
The examples provided are from BMC FootPrints, which uses Sencha's ExtJS framework.