In the development of HTML5, Google or someone looked at a lot of web pages and found that many contained code like this to indicate the structure of a web page
<div id="header"></div>
<div id="nav"></div>
<div id="main">
<div id="section"></div>
<div id="aside"></div>
<div id="section></div>
</div>
<div id="footer"></div>
-----------------------------------------
and so the HTML5 developers decided on a set of tags to do the same thing, i.e.
<header></header>
<nav></nav>
<main>
<section></section> <!-- can have one or more section elements; if these could stand alone, <article> would be a better choice -->
<aside></aside> <!-- for content is only indirectly related to the main content, generally formatted as a sidebar or callout box -->
<section></section> <!-- one can have more than one section element on a page
</main>
<footer></footer>
-----------------------------------------------------