I disagree with the notion that most sites don't use a CMS, particulary given the global reach of Wordpress, and the selection of Open/Closed Source CMS available, and the obviously successful business models.
If you're serious about running and managing a website then a CMS is essential IMHO.
If you don't want to use one the simplist way to approach the task is to use a series of include files.
A basic setup would have the header.inc controlling all the code down to the opening main content tag, a footer.inc managing everything after the closing main content tag, a sidebar-[purpose].inc for any sidebars and others for any other fully global items such as login panels/social media etc.
This means truly global code is slioed in one place and easy to update. However, this is a lot of work to manage, update and most importantly secure - using a CMS is much better.
The main problem with this approach is that it causes problems adding unique meta for search engines, so you would have to take a more complicated approach to allow each page to have it's own title and description meta.
You may also need to have different include files for different page templates or content types - as complexity increases so does the size of your headache.