Joomla is a very powerful CMS. Due to the features it comes with out-of-the-box it is specifically geared to web agencies, giving them the tool to create stunning websites for customers that checks all the boxes.
One of these features that make Joomla the goto CMS for web agencies is template overrides. But as some see template overrides as the Holy Grail, i see it as a work intensive feature that will leverage your maintenance (cost) on the site...
Some background information
Joomla follows the MVC pattern: Model View Controller pattern.