In my case, I very rarely create custom page templates. I've never found the need. But then again, I hardly ever create full themes. I just create a child theme based on some other theme where somebody else has done most of the heavy lifting and so I don't have to create every template for every situation from scratch.
This saves me work and my clients money.
But even for a full theme, the standard templates are usually the only ones necessary. Custom templates are, I believe, really for one-offs that cannot be thought of any other type of page; i.e. not just for cosmetic differences that can be sorted using the page types in the Template Hierarchy.
As to your second question I'm not sure what you mean by the "above template". If you want WP to display a page according to the home.php page then all you have to do is to make that page your site's home page in your WP Dashboard. It's not a custom template and it doesn't need any special comments block at the top.
And as for using static code, I guess it depends on what you want, but on the whole, no. You'd call at the very least things like get_header() and get_footer() and probably get_sidebar(), and you'd use WP functions to get the dynamic content. After all, what's the point of using a CMS if you're going to hard code the content? You want to be able to edit the home page content (for example) in the WP Dashboard editor, don't you.