Linux vs. Windows: The Real Difference
Microsoft reacts to marketing pressure to make design decisions favoring running a few processes faster but then finds itself forced first to layer in backward compatibility and then to engage in a patch-and-kludge upgrade process until the code becomes so bloated, slow and unreliable that wholesale replacement is again called for.
Despite the obvious Linux slant, this is probably one of the most coherent discussions of the structural differences between the Linux kernel development process and the Windows kernel development process, resulting in the differences between the Linux kernel and the Windows kernel, that I've ever seen. Recommended.