Each template is composed of at least two parts -- the main template, and the layout.
In the root of your templates/ directory, you'll have a Page.ss. This is the main "wrapper" for your site, that is, all the elements that essentially never change from page to page. On this site, the Page.ss probably ends after the grey strip under the main nav, for instance.
In the Layout/ subfolder, you can define custom templates for each of the page types. A Calendar page will use Calendar.ss, for instance.
However, these templates all use inheritance and overrides to make the design fully customizable for you. For instance, if your calendar page requires its own wrapper for some reason -- maybe it looks totally different than the rest of the site -- you can create Calendar.ss in the root templates/ directory and include the doctype, main nav, etc as part of that template.
The template parser (SSViewer) will also "fall back" on the most logical choice for a template if one is not found. If you have a Calendar page type and no Layout/Calendar.ss exists, it will fall back on Layout/Page.ss because the Calendar object is a subclass of Page.
Further, if you have a module installed, e.g. EventCalendar, SSViewer will always look in your theme directory first for the template, and then fallback on the module. To create a custom template for EventCalendar, for instance, you would copy the file /event_calendar/templates/Layout/Calendar.ss to /your_theme_dir/templates/Layout and make the changes you want. That way, you can safely upgrade the module when new releases come out and have the peace of mind that you have insulated all of your customizations.