My belief is that projects like CentOS are there because people want to skate on the backs of people and companies who have spent time and money making a good product, just because they don't want to pay for that hard work. I believe this is the flaw in the GNU license, and not open source in general.
As opposed to what, BSD? The GPL is viral in that all derivative products must be contributed back to the community, whereas a less strict open source license would allow CentOS to keep the modified source to themselves as long as they gave due credit. I'm not a fan of the GPL, but this is a complete misrepresentation.