DIV and SPAN are used for grouping. You should still have semantic markup like P for paragraphs or H1 through H6 (that's as high as it goes) for headings. Just worry about semantics and well-formed documents; SEO will take care of itself if you do those two things (and have useful content of course).
People use the A (anchor) tag a lot for different reasons. Mainly it's because HTML stands for HyperText Markup Language—the "hyper" connotes the incorporation of additional content/media/features compared to plain text documents. One of the biggest distinguishing characteristics of hypertext documents is the ability for one document to link to another using hyperlinks—this are created with the A tag.
The A tag can also be used to link to different sections of the same document or another document. These points are specified by the A tag as well, like so:
<p><a name="top">Hello World</a></p>
<p>Blah, blah, blah.</p>
<div><a href="#top">Back to top</a></div>
Additionally, anchors can also be created using the ID attribute, which can be used in almost any tag:
<h2 id="ToC">Table of Contents</h2>
...
<p>View the <a href="#ToC">Table of Contents</a>
to see all sections of this guide.</p>