I use boxes for fully dynamic content, blocks for stuff that is mostly html that will change, but that I can just put in a |CONTENT| or |BOX,foo,bar| into it to get the changing parts, and special pages for stuff that doesn't change at all. Vars are for site configuration, and we're working on moving all vars that deal with fonts, display, etc.. into blocks. Now templates:
Templates just specify which block to use to show a page for a particular op. templates are blocks. But they are blocks with _template after the block name. like index_template etc. What you're doing at the template admin tool menu is specifying which template to use for which operation. So default_template for op=view_poll, story_template for op=displaystory, and so on.
Boxes have thier own sort of template too, really just a default box. These are blocks with _box after their name. So blank_box can be used as a container of sorts for displaying all of the info that you generate with the perl in a given box. Just return a hash with all of the values to substitute, so 'return { content => "this is my box, there are many like it, but this is mine", title => "this is the title"} if you are using the regular 'box' template
There are also special pages. Special pages are just static pages. So anything that is more static than a block, I would put in a special page. Like FAQ's and mission statements, etc.
So does that cover it well enough? I just went over it pretty quick, there is someone working on docs right now, we should have a few in the 0.6 tarball. And as the docs become available, I'm going to put them on a special page here.
-hurstdog