What Is A CCK And Why Should I Use One?
First, what exactly IS a CCK?
CCK are the initials for "Content Construction Kit". It replaces the core Content Manager in Joomla with a much more powerful content creation facility.
A CCK allows you to expand the information you add to your site, beyond simply a title and body field.
Prior to the release of the current (Jan 2015) version of Joomla (3.3.6), there were many reasons for using a CCK like the K2 component, but now, the gap is narrowing.
A CCK will still improve your content building, but at the cost of adding a little more complexity to your system, inasmuch as there is an additional component to get to know, and it has more features..... more features necessarily mean more complexity.
There are many CCKs from different suppliers, but I will focus on what I believe to be the main one, called "K2".
K2 is a powerful extension that can be used to completely replace Joomla's own content management system. In other words, you no longer need to create Joomla articles and categories, you can just create K2 articles and categories. By now, you might be wondering: "What's the point of having a CMS within a CMS? What's wrong with Joomla's own CMS?"
To answer the second question, there's nothing wrong with Joomla's CMS – it is versatile, it is flexible, and it is powerful. But there are many reasons why K2 is more versatile, more flexible, and much more powerful.
Here are a few (this article from ITOCTOPUS http://www.itoctopus.com/top-8-reasons-why-you-should-use-k2), and there are many more such artiles on the internet.
K2's migration process is a breeze!
Unlike Joomla, K2 does not change core and database structure with every version, and if it does, it provides a seamless way to migrate from one version to another. In fact, upgrading to the latest version of K2 consists (in most cases) of merely installing the latest version and boom – all the content is automatically migrated! There's no need to jump through hoops to do that! While Joomla's content migration can take hours if not days, K2's content migration can take literally minutes (if migrated within the same Joomla version).
Many prominent extensions are compatible with K2
Although we don't like sh404, we have to admit that it's one of the most used and one of the most prominent Joomla extensions. Luckily, K2 has native (and easily modifiable) support for sh404 (it's interesting to note that it's K2 that supports sh404, and not the other way around).
Additionally, there are many extensions that are made exclusively for K2, and all (we are using the word all responsibly here) extensions can be adapted to work with K2 instead of Joomla's own content!
K2 is easier than Joomla's own CMS
Hmmm... How could that be? Isn't Joomla easy enough? Well, no it's not! If you want to add an image to an article, you need to go to the media manager and do it from there. You will then need to go back to the article itself and insert the image from the article (unless, of course, you are using JCE Editor or another powerful editor, and not Joomla's default editor). In K2, you can insert the image from the article itself! (You can even insert a whole gallery!)
K2 has more features than Joomla's own core
Let's start: Tags, native comments, custom fields, related items, etc... All of these are features that exist in K2, but not in Joomla. Many websites out there desperately need the aforementioned features, and resort to 3rd party extensions to address this!
Oh, and did we mention native social sharing?
K2 is stable
Apart from the very few non-toxic, non-harmful bugs that we have encountered while working with K2, we can safely say that K2 is no less stable than Joomla's own core. Also, keep in mind that it's much easier (and less stressful) to fix something in K2's core than fixing it in Joomla's core.
It is very easy to modify/adapt K2's template to fit a site's theme
K2's template has more or less the same structure of Joomla's content template – and both can be overriden by the site's template. This means that if you're already familiar with Joomla's theme overriding functionality, then you won't have a problem with overriding K2's theme!
K2 has a huge community and a responsible core team
There are many, many websites out there that use K2, and system administrators using K2 tend to share the problems that they're encountering and the challenges that they're facing with other K2 users. This has created over the years an active and a very large community.
Additionally, we have noticed that K2's core team is extremely proactive when it comes to fixing bugs. The team is also very responsible when releasing new versions (K2 is not the kind of extensions where the developers say: "Ooops, we have messed up on the previous version, please immediately uninstall it and use this version instead. No wait, we've messed up again! Etc...").
K2 is secure
Last but not least – K2 is secure! In fact, we have not had a single instance so far of a hacked website where the culprit was a K2 vulnerability. We have to admit though that in many cases, the main culprit was Joomla (yes, it was an outdated version, but still!).