Hi,
As i understand it, CCK is a very powerful and flexible module/set of modules. As i understand it, you can create your own content types with your own fields and/or use the provided field modules of which there seem to be a whole lot. What i want to know is if it's possible for a non-programmer like me to use CCK with any success.
If you don't want to do any CCK development - getting really dirty with PHP - but are happy fiddling a bit with the theme, then you can get a long way with CCK and its bundled data types, and cover much of the rest with contributed types.
Generally, as you move away from the data types included with CCK, it gets less easy to use. If you have fairly basic separate fields (so a standard single HTML form element, or a clutch of checkboxes/radio buttons) then you can generate quite complex content types entirely through the admin interface by combining a lot of those basic fields. Themeing is fairly rudimentary by default, but as all the CCK content gets stuck in the $node object then you can theme it to your heart's content.
Downloaded CCK submodules are (as you'd expect) of variable configurability, functionality and plain usefulness, but generally pretty good. The above paragraph more or less stands, although themeing might be more of a chore depending on what the submodule is doing.
The real hardship is if you've got a very complex or subtle data type, and none of the available submodules will provide you with the structure you want. CCK submodule creation and development is pretty painful at the start: it's not very intuitive and you have to have all hooks present and (more or less) functional from the word go. I've got a sample module - holler if you want it.
But generally if what's required is covered by contributed modules, I've found CCK very easy to use.
Cheers, J-P