Domyślam się że header nav i inne te elementy "mówią" użytkownikowi (?) co zawiera ta część strony w przeciwieństwie do div'a.
Użytkownika nie interesuje co się znajdzie w kodzie strony, dla niego ważne jest to co widzi i co może z tym zrobić. Jest to głównie informacja dla wyszukiwarek, robotów (i innego oprogramowania), aby wiedziały czym dany fragment strony jest w rzeczywistości. Użytkownik pozna to bardzo prosto, jak widzisz nagłówek czy menu nawigacyjne to wiesz od razu co to jest. Ale na przykład dla robota wyszukiwarki strona to już jest tylko html (zwykły tekst, który musi odpowiednio sparsować), z którego musi wydobyć najistotniejsze informacje.
Moje pytanie brzmi czym różnią się te elementy i czy "opłaca się" je stosować.
Jak najbardziej opłaca się stosowanie tych znaczników. Umiejętne korzystanie z tych znaczników pozwoli dobrze zoptymalizować stronę, dzięki czemu, np, łatwiej ją będzie znaleźć w wyszukiwarce.
Google, np. bardziej lubi strony, które są poprawnie i semantycznie napisane w HTML5.