Semantic elements were created to simply describe the meaning of words in programming languages. They help browsers and developers understand the purpose of tags and their roles, and can define page structure. Before semantic tags, pages were structured with DIV tags that did not provide meaning. Current pages can be corrected using semantic tags like <header>, <navigation>, and <footer>. Semantic tags like <figure> and <figcaption> describe specific elements but do not change formatting, which must be configured with CSS.