Should my controllers actions 'return' when rendering templates?
There’s no reason for your controller to return anything – it will never be checked.

Many requests call more than one controller action, so it would be pretty presumptuous for Craft to think that it should actually output whatever your controller returns, and end the request.

Instead, it’s up to the actual controller to do the outputting, and end the request, if that’s what it wants to do.

$this-&gt;renderTemplate() comes from BaseController, and it’s basically a wrapper for craft()-&gt;templates-&gt;render(), except that after calling that, it will also set the Content-Type header for the request, insert any queued-up JS and CSS, and then end the request.