I think a lot of people, particularly developers, have misconceptions about the CCK module. I too misunderstood its real purpose and functionality when I first came across it. It's most definitely not a substitute for custom modules that create node types. It fills a current shortcoming of Drupal, which is the ability to add properties to nodes. I'm confident that Drupal will eventually abstract its node model to allow for more flexibility and more advanced features like node grouping and relationships. Meanwhile, CCK is doing a decent job at filling in some of the missing pieces. Nick Lewis has an interesting thread going on his site regarding CCK: Neutered Nodes: CCK's Dark Secret.