Its a question of vision. Whether you like them or not, the Apple and MS both have a cohesive vision for their platforms. Linux does not. You have Linus driving kernel develpment and a whole host of others developing applications for it. How often do they get together and discuss how they see the platform moving forward? How often to they coordinate development for the progress of the platform? That's the difference.
Apple is Killing Linux on the Desktop