WordPress at the beginning was developed as simple blog platform. That is why WordPress displays your recent posts on home page by default as it is supposed to be in classic blog. But in these days WordPress is much more popular and flexible. Thousands of websites uses WP in thousands different ways. Often your recent posts will not suits your needs. The question is how to change main page in WordPress?
WordPress static front page
Following WordPress documentation: "This is a traditional static HTML site model with a fixed front page and content placed in Pages, rarely if ever using posts, categories, or tags."
Basically you may display whatever you need on default WordPress page. Of course "static" does not mean you should use only plain HTML. You may use widgets, shortcodes, plugins and all other cool stuff.
How to set up WordPress static page?
First, simply create WordPress custom page. Go to Pages > Add new
It looks like it has quite limited functionality.
Well, its not true since you may use any available page templates :)
In this case I will use WordPress Login page and some widgets just for example. The result look as follows:
Once you have WordPress home page selected, next you need to set this page as static front page in WordPress. Go to Settings > Reading
Choose a A static page option and select page in Front page. Then all users will see login form at the front of your page.
Basically this is all you need to know about static front pages. Possibilities are almost unlimited since you can use custom templates and widgets :)
WordPress separate file front-page.php
There is a second method of creating WordPress front page. According to WordPress file structure and hierarchy you can create separate file called front-page.php. As a developer you can use all available html tags, parameters or methods in there and very well personalize page to your needs, but programming skills are required :)
More details in WordPress documentation: https://codex.wordpress.org/Creating_a_Static_Front_Page