.tpl is a Template file for PHP. .dwt is a client-side template for Dreamweaver (I think) and <? include is a PHP server-side raw include. I only do <? include because I think templates shave a little time off, but its a lot more intensive on the server.
Everything depends on how do you want it. - do you want it to be scalable? - do you want it to be fast? - do you want it to be easy to change? Fastest way is by using <?php include "file.php" ?> I recommend using .tpl and .dwt, it makes it easy for you to make changes.
I strongly suggest you use php includes <? include 'top.php' ; ?> as you can actually use do scripting this way as well as use for template purposes. When you use .tpl files you are reliant on smarty (or other) {variables} which is much less powerful and not straight forward at all. Just my opinion because I am used to programming. If you are used to templated layouts, your opinion might differ.