On a pure stylistic point of view, they are pointless and behave exactly like the <div> tag.
But, they do have a purpose: to give semantic value to the page content.
While a human being can easily distinguish what is the header and what is the footer on a webpage, a computer program will have hard time at making this kind of inferences.
Now, you may think that your web page is to be consumed by humans, not programs, and you're probably wrong: don't forget Search Engine bots.
By using proper tagging, googlebot (just as an example) will be able to give meaning to what would be otherwise just a pointless div. Google can this understand what is the REAL content of the page, what is navigation, and what is simply appendix.