Custom templates change the look and feel of a block. Every block can have custom templates, which are custom bits of PHP code in your website's file system.
When you are in edit mode for a page, you can choose to set a custom template for a block. When clicking on a block, instead of hitting Edit, pick Custom Template:
From the Custom Template interface, you will see a drop down menu of available templates:
The Auto-Nav block is a great place to start when thinking about custom templates. The Auto-Nav block brings back part of the site tree you define with settings. On its own, it always displays the results as an Un-Ordered list in HTML. This is pretty common practice these days because you can do a lot of styling with these lists. Without any further work, a new Auto-Nav on your site would look like this:
There are several custom templates that come with your Auto-Nav block. If we choose the Header Menu custom template for this instance of the Auto-Nav block, it will look something more like this:
Same data, but different styling thanks to a Custom Template.