Question: Don't kill me just yet, I'm asking out of pure curiosity.

Elements like `<section>, <nav>, <article>, <aside>` etc all seem completely pointless. Sure they make everything have its own little place (and seo'd)... but it **is** possible to over-organize things. There are some cases where things don't fit in any of the categories too. It also increases time spent trying to code these things. I just don't see any real purpose for moving to add these new elements.

What do we (developers and people who view the webpages alike) have to gain from adding them?

Answer: 
HTML5 styled CSS is also *somewhat* easier to read:

```
div#header
div#content .article
div#content .article h1
div#content .article h1+h2
div#footer

```

vs

```
header
section#content
section#content article
section#content article hgroup h1
section#content article hgroup h2
footer

```

(not using advanced selector)

And as keyboardP hinted through the quote it is easier to navigate a page for non human vistors. It adds semantics. But I do agree with you, that sometimes it can be hard to figure out which element to use `section`, `article` or good old `div`. IMO, this makes the semantic less strong. But lets see what happens.
ok, which one sounds more productive and easy to read:

```
 <div id="nav">list of links</div>
 <div id=header> 
 <div id=section>content is good
 </div>
 </div>
 <div id=footer>copyright</div>

```

vs

```
  <nav>list of links</nav>
  <header>
  <section>content is good</section>
  </header> 
   <footer>copyright</footer>

```

It would be so much easier to scan for section and header and dialog in the midst of DIV junkyard. It also improves accessibility for the blind since would clearly tell the screenreader what it is. Same with article tag. Additionally, it improves structure and provide more meaning to the tags. 

Some web browsers don't support CSS styling on unknown elements and to me, that's incredibly shortsighted.