If you read the blogs, you'll learn how the long tail is great for business. The long tail can also be a curse. Consider developer communities. If you have a long tail of developers, it's harder to coordinate with all of them. The long tail of developers typically will attach itself to the dominant development platforms (C/C++, Intel x86, DOS/Windows), whereas other platforms (Java, PowerPC, Mac) have small development communities. The dominant platforms cannot coordinate with all the developers, so they must retain backwards compatibility. Their strategy is not to abandon their old systems, but to extend them. C was extended to C++. Intel 8086 was extended to 286 and 386 (remember "real mode" and "protected mode"?) and then later x86 was emulated inside Pentiums. DOS was extended to Windows and then replaced by NT, which still could run DOS programs. In all of these cases, the platforms have become incredibly ugly due to the backwards compatibility. Ask developers if C++ or Java is cleaner, if x86 or PowerPC is cleaner, if Windows or Mac is cleaner, and the answer will be clear: the system that was more recently designed is cleaner and more pleasant to work with. However most developers are still tied to the ugly systems. Why? Because backwards compatibility is the path to success. When you have that long tail of developers, you can't afford to abandon them, so you bend over backwards to keep their old programs working. I can still run Windows programs I worked on in 1993. I can't run Mac programs from 1993 in any nice way. I can still run 8086 programs on a Pentium IV without emulation. I can't run 6800 programs on a PowerPC without emulation. I can compile most C libraries in a C++ compiler. I can't compile C code in a Java compiler. The most popular systems have this curse.
This leaves me pessimistic about ever having clean successful systems. The successful systems are laden with backwards compatibility requirements. Those requirements make the system unclean.