So my first thought is, what good is that validator when it always displays errors?
Great question! The validator checks the markup syntax against the W3C specification, which these days is either HTML or XHTML. It is perfect (or near-perfect, although I haven't found any major errors in its checking) in the sense that it will tell you that you have technically invalid markup.
Nevertheless, invalid markup in practice is not game over. Think of W3C standards as a very strict specification of a specific dialect of English. When a browser is developed with the specifications in mind, think of it as going to a school in that dialect, leaning the proper way to speak, read, listen to, and comprehend this dialect of English. In practice, this browser also goes out to the playground and travels the world and learns to understand slight modifications on the standard convention. The browser also watches old movies, so it learns how to understand "older" syntax and vocabulary, even though it wasn't strictly taught in school (in the specification). Some browsers (most notably IE <9) had parents (developers) who felt that the regular curriculum could be revised to make a better browser, so they got sent to a completely different private school. At the end of the day, you get different browsers understanding different languages. Each of them also have very generous "fudge" factors. Just like you know what someone means when they slur their speech or include typos, browsers do the same. Even more often, people or communities devise innovative ways to speak (write markup) that browsers happen to understand despite not having been formally trained it in in school (under the specification). At that point, you get a lot of non-standards compliant code that still works in practice.
Secondly, will the errors affect my SERP ranking? ie, will me fixing these errors as good as I can increase my Google search position?
Google recommends compliant markup, but there is almost no conclusive evidence one way or another aside from cases where experimenters mangle their markup so severely that the content doesn't even display properly. This is likely because Google's own crawler is versed not only in the standard specification, but also in all of the dialects including those casual and old. It also had a lot of fudge-compensating mechanisms to make up for small "mistakes".
At the end of the day, try your hardest to have valid markup if you can. It is entirely possible to do so if you make it a priority. In my experience, by the time that you're advanced enough to break the rules (which I know I am not), you know enough about the rules and the parsing and display implications that your original question isn't a question at all.