WordPress started as an outright blogging platform and nothing more, so the home page was always just meant to be the most recent blog entries, in its early iterations.
The template hierarchy has evolved since then but a lot of the labels have remained from that era. (Backwards compatibility and such.) So the page.php
file was a later addition to WP and home.php
file was the default (as a blog feed) because that was how WP started out. You can check out the full hierarchy here.
https://developer.wordpress.org/themes/basics/template-hierarchy/
In short, because of legacy, home.php
in a theme assumes that you’re looking at the front page of a site that is set to having it’s posts listed on it. (Like original WP.)
If you change it to static, WordPress then interprets that as you NOT wanting your front page to be a list of posts, so instead it assigns the default page.php
template so that you can layout content however you see fit.
Additional templates you can have include front-page.php
which overrides home.php
, but you can also make whatever templates you like, for example: gorilla-ears.php
and then you can assign that to the page you’ve set as HOME in the WP Settings. And that page can have whatever mark-up and code you want it to have.