Many of these boil down to "they're volunteers, and doing what they like".It isn't FUD, it's fact. You have a bunch of distro's that all require their own unique tweaks and tricks to do what should be a simple task. Even something as simple as how to install an application requires different steps for different disto's. You also have multiple projects that are overlapping or trying to replace each others efforts to find a solution to an issue. This does fragment the knowledge of how to get something done and it also fragments the talent pool of developers.
The kind of specialty apps that I'm referring to isn't really considered all that much a specialty anymore in windows. Media creation applications , financial software CADs (even simple cads like home and yard design CADs) are examples of higher use apps but then there are also simple little applications such as crap like lottery analysis applications, lightscribe apps, educations apps.
How many v4l commands you want? How many x-server examples do you want? There are quite literally hundreds of tasks that do not have a gui in linux but those same tasks are easily handled in other OS's from the comfort of a desktop.
Yes windows does have DLL hell but MS is also very diligent with their compatibility packs as are the independent 3rd party software vendors. Personally, I maybe come across a missing DLL issue once maybe every year. In linux land you come across too many projects where the projects only test against their distro of preference and if you deviate from that they are of little help to the person having the issue. I'll just use XBMC for example. Unless you are using Ubuntu the official reply is "Does it work on Ubuntu 32-bit?" Hell for the longest time if you tried to compile it even for 64-bit you would get "What do you need 64-bit for, install 32-bit?"