ExpressionEngine is a very powerful content management system that natively allows developers full control over both content and layout.
For content I can set up multiple document types and assign different groups of fields. Maybe the blog needs a feature image while events needs start and end dates.
The design is displayed using template files that can embed common code - header, navigation, footer. I can also create very specific urls to help search engine optimization.