What do we mean by ‘Semantic’?
Semantic HTML is the use of HTML markup emphasising the meaning of the information that it contains.
This is in contrast to markup that focuses on presentation or visual structure.
Why worry about being ‘Semantic’?
It helps produce clearer, simpler code, which reduces total cost of ownership.
It helps you, your team, and any of the next readers of your code, as they will find it easier to understand your original intent.
It has benefits for accessibility - not everyone will consume your content the same way, so describing things more clearly will help.
This article has excellent examples of using the HTML5 semantic elements to produce more meaningful markup.