From a development and testing point of view though, it's a complete nightmare since you've created, if effect, an exponential number of SKUs. Does your app work on a machine with Domain Join? What about one with Media Center? What about if you have Domain Join and Media Center, but not File Sharing?
I don't see that so much being the problem, we already have to manage that with all the options in add/remove features. I as an app developer I see as worse is a user buys an app for £30, then find they need to buy another £100 of windows features to be able to run it.