The requirement for themeing should come from your customers (either existing or prospective). If they, or your marketing department see a value in this functionality add it.
Some requirements that spring to mind:
- The application must look like it fits in with the operating system or user environment (i.e. looks like a native Windows application)
- The application is going to be sold to many customers and each will want their own branding added (this is slightly different to allowing end user themeing though).
I'd agree that most people probably don't use themes beyond the initial "Oh I can set the theme!" moment. Another factor would be that if the theme gets reset when the application is updated users may have little motivation for setting it again and again. I don't have any data for this beyond my own experience.
As for how this trend started - that would be speculation, but one factor would be people "keeping up" with their competition. If your main competitor has a feature then your sales/marketing people pretty much demand that you offer the same feature to ensure that they can't lose a sale over it (no matter how useless the feature actually is).