The WordPress documentation was never terribly good at explaining how front pages or home pages work, or indeed if there is a difference and what it is. My interpretation follows.
In WordPress terminology the Front Page is the page you see when you first visit a site on its default page, meaning the page you get when you go to
http://www.your.domain/your-wordpress/ (depending on how you do things). More generally we might perhaps call that the home page, the main index page, the site index page, or a landing page. In the WordPress code it tends to be referred to as
WordPress was developed as a blog and the typical feature of the home page of a blog is that it shows a list of the latest posts with the newest one first. WordPress generally calls such a page the Blog Posts Index Page, but confuses the issue by referring to it as
home in the code.
In one place WordPress apparently once used (or possibly still uses)
blog instead of
home so you always have to be a little careful.
Showing the latest posts on the Front Page (default)
The default behaviour of WordPress when a new site is created is for the Front Page to be set to show the latest posts. So in this case the Front Page and the Blog Posts Index Page are the same thing. The theme might display a combined 'splash' page with the latest posts on it, just display the latest posts in a blog style, or just have a 'splash' page and not actually show the posts at all.
When WordPress comes to display this page it will first look for the
front-page.php template, then if that is not available it will treat it like a Blog Posts Index Page and look for
home.php, falling through to
index.php if that is not available.
Using a static Front Page
The default behaviour can be changed by going to
Appearance > Customize > Homepage Settings or
Settings > Reading from the admin menu. There is an option to select either
Your latest posts (the default above) or
A static page. In the latter case the Front Page shows a page rather than posts, and a separate Blog Posts Index Page can be configured to show the latest posts. There are two options to be configured.
The first of the options is
Homepage (it used to be
Front page). That gives a list of existing pages on your site that will be used as the Front Page of your site. Whichever page you use will be displayed using
front-page.php if it is available, otherwise it will switch to the normal template selection mechanism for pages (which means firstly any custom template you have defined when creating the page, then
page-<ID>.php, then the default page template
page.php and finally
index.php). So in practice what you could do is define a page named, say, 'Home' for the front page and either display it using your normal page template or, if you want it to look a bit different, create either a custom page template or a
front-page.php template to display it. If you want to just use a 'splash page' and don't want to display any content whatsoever you could simply define a dummy 'Home' page and have everything in the template.
That is the Front Page sorted but WordPress would still like to be able to act like a blog and show you all the latest posts. It still wants to be able to have a Blog Posts Index Page. The
Posts page option actually selects the Blog Posts Index Page (as if already calling it two different things wasn't enough). An existing page is used but any content is ignored and it is then displayed using either the
home.php or the
index.php template. So typically what you would do is design the
home.php or the
index.php template to display a list of posts and then create a page titled 'Blog' or 'Latest News' or whatever. When you visit that page on a URL such as
http://www.your.domain/your-wordpress/blog/ you will then see the latest posts
So what does the Scouting Challenge theme do?
Many sites are essentially using WordPress as a content management system to make it easy to create static web pages. If they allow posts at all they are typically for news updates or for a 'blog' in addition to the main site content. That pretty much descibes the typical Scouting website that the Scouting Challenge theme is intended for.
In common with many other themes, the Scouting Challenge theme doesn't ship with
home.php and lets the display of the front page fall through to
index.php, which is a required file in all themes but would otherwise not be used because of the presence of more specific theme templates.
When used in the WordPress 'latest posts' mode
index.php is basically acting like a splash page but it will display those latest posts if you want it to, and indeed it does by default.
If the site options are changed to use a static Front Page then
index.php will still work as the Blog Posts Index Page because of its ability to display the latest posts.
An advantage of doing things this way is that it works out of the box without getting in the way of anyone who wants to use their own
home.php (with or without a child theme).
On this documentation site the Scouting Challenge theme (or rather a child theme of it) is indeed working in 'static front page' mode and the
index.php appears as the template for the Blog Posts Index Page at Sample Front Page.