Semantic elements clearly defines its content. It means that elements which are recognize by their name in html for example <hedaer > , <nav> , <footer>. You can say it helps understand what is happening on the page.
In earlier we used like <div> like
<div class="nav"> </div>
So, its makes easier for you to work with your code and one more important advantage is semantic elements are more seo friendly compare to non-semantic elements.