Affinity or profile-based: customizes content for groups, rather than individual users. In this typ of personalization, collaborative filtering pages are developed based on the behavior and preferences of a group. Those customized pages are delivered to the individual users within the group.
Preference-based: customizes pages based on explicit, user-provided preferences.
Behavior-based: monitors user behavior and inferrs how to customize pages to suit individual interests and needs.
Personalization is fundamentally about mixing and matching content elements, and many CMS packages wandered into this space. But most major CMS packages are now returning the personalization function to the application server or 3rd party personalization engines.
Why? Because personalization is very resource-intensive from a design and publishing perspective. It takes a lot of effort to define and implement business rules against various permutations, and serving up custom pages adds more cycles to what may already be a very dynamic publishing process.