Semantics is a very important tool in HTML. It is the basic meaning of every word, phrase, or sentence on the website coming from your coding. So it has to make sense and be clear to the reader. But having bad semantics in your HTML can cause some serious problems. In my InterAct with Web Standards book, it tells of the two main reasons why a lack of semantics is so bad.
1. It causes people with impaired vision not to be able to use the screen reader based on having no headings to navigate to and from. 2. You have to have a good heading because major search engines such as Google and Yahoo! rely on keywords from your HTML for website direction and to rank content.
Here are a few other sites I found with some information on Semantics in HTML.
http://www.alistapart.com/articles/semanticsinhtml5 <—- John Allsopp everyone!!