What should a CMS be line

Hello!

I wonder what should a CMS look like? What functionality should it have to be good enough for you to use it for your projects? Should it be module based? What basic functionality should it have etc.