All content management systems can be divided into four types: open source, boxed, self-descriptive and frameworks. Let’s briefly analyze how CMS of different types differ from each other.

Open source CMS
Open source means that the engine can modify anyone who wants. Thanks to this in such CMS regularly appear new add-ons and themes, as well as faster find and eliminate vulnerabilities. This is one of the main reasons why WordPress has become such a popular engine. Popular open source CMSs include WordPress, OpenCart, Joomla!, Drupal, Magento, and PrestaShop.

Boxed CMS
In fact, such engines differ only in the fact that they have a closed code, which means that only official developers can make changes to the engine. This does not mean that such CMS systems are less secure or they have worse functionality, but the number of themes and add-ons is usually really less. Popular CMS out of the box: Tilda, Wix, SitePro, Shopify, Squarespace.

Self-written CMS
Such engines are custom developed for a specific project. Their functionality is not as wide as that of boxed CMS or open source CMS, but it corresponds to the tasks at hand and does not contain unnecessary tools. The only thing is that if you need to expand functionality or close vulnerabilities will have to contact the developer of the engine or look for a specialist who will understand the code from scratch, and this is money and time. The experience and expediency of developing your own CMS was interestingly described by a Habrahabra user.

Frameworks
Framework is an add-on over a programming language; a set of libraries with which you can conveniently create a site for any task. Developing a site on a framework will require more money and time, and in addition to the site will need to separately develop the control panel of the site, and this is essentially another site. But this way you can realize any functionality that you need. That is, for atypical projects this method will be just right. Plus the performance of a well-made site on the framework will be higher. Popular frameworks: Laravel, Ruby on Rails, Django.