You probably have an application or two you use that allows you to customize its looks.
Chrome and Firefox both do, but if you don’t use either, what about your phone? Some Android versions come with a theming engine. A lot of websites allow customization of their color schemes (and sometimes more) too. It’s super rad, allowing you to personalize the application, service, whatever, to fit your own style, maybe even integrate it more stylishly into the environment you’ve painted around it. Or maybe you just like the looks of something fresh and new every so often, that’s cool too.
For some users though, it can be hard to settle on one specific style. Either the choices are too limited so there’s nothing that fits their specific wishes, or there’s too many themes to choose from, making the user spend an hour browsing through all of them before realizing they can’t pick just one they like the most.
Finding that balance in between, whose job is it? Should the user have better discipline, or should the developer keep a sane amount of themes on hand, no more no less? What about user-made themes? How should those be made available? Through the native interface, or should the theme creators just hand out a couple files for users to drop where they’re needed?
Regardless, themes are cool, and just having them available can be a huge boon to most applications.