I still prefer Solaris to most linux distributions, for the exact reason that it provides such a solid base. Linux, the kernel itself, is a hacked together POS that just needs to be put down. Take the networking code, for instance. It's a giant mess of spaghetti code, with almost 0 documentation, and hacks galore. Compare this to something like the BSD networking stack (you, the standard reference implementation?), which is clean, concise, and very easy to read and modify. It also has just as much functionality.
The Solaris kernel is somewhere in between, in terms of readability. But in terms of functionality, Solaris smacks everyone else around. dtrace, zfs, logical domains, and one of the better implementations of trusted extensions currently out there. It's a serious pain in terms of usability though, especially for desktop use. Why can't Sun just use regular names for things?