And as for the money that Novell makes coming out of other Linux vendors, that isn't entirely true. Novell also gains money from people who use Microsoft Server because their products can now work with Linux (whereas they couldn't or the meathods to do it were buggy before). Microsoft gains from the deal in that they get some help from someone who knows how the Linux platform works, and in that way they can gain experience for their security and such.
And as for community based distros such as Debian creating better products than commercial distros, that isn't entirely true. When basing development off of a community model, you will usually have a lot of strong opinions on how to do something, and when a developer chooses one way over another, a fork can occur. This means that there are less developers over any one product. Businesses, on the other hand, have their employees do what they want them to do, while having the employees keep their opinions to themselves. This can be both good and bad, I understand that. But the product made by the business can become more stable since its not forking as much.