block for the navigation I'm getting to grips with Drupal 7 at the moment. One thing that I'm finding frustrating at the moment (perhaps because I'm misunderstanding) is blocks. 

Can you not just have a blank block give it a template and do what you want? I'm creating a sub theme off of Bartik and would like to put the main navigation into it's own block (to keep things tidy) and then just call the region this block is set but this doesn't seem to work. It seems I have to have the body text from the block included and the navigation doesn't seem to work either. I have come from developing in wordpress which has the loop, if you're in the loop you can call what you please, but this doesn't seem to be the case for Drupal?
Block


Define region in theme information file (https://www.drupal.org/node/171205).

Example: regions[main-menu] = Main Menu
Call the region in template file (html.tpl.php or page.tpl.php)

Example: &lt;?php print render($page['main-menu']); ?&gt;
Clear website cache

Procedure:  Configurations -&gt; Performance -&gt; Clear all caches
Now you can assign any block to the region.

Procedure: Structure -&gt; Blocks -&gt; Here you can see 'Main Menu' region as unassigned. Assign any block to this region (example: assign menu menu block to main menu region).


Templating

To know more about templating: https://www.drupal.org/documentation/theme

Since you are coming from a WordPress background, please get familiar with theme structure of Drupal and then start working on themeing.