So, why should you validate your CSS and XHTML code? There are many reasons but primarily so the so the site functions and looks exactly the way you intend it to. Another important reason is that search engine spiders don't necessarily act like web browsers in the fact that once they encounter an error some simply quit and move on to another page or even worse, stop coming to that page all together. Which mean that the search engine is kind of penalizing the site pages for invalid code.
It could be as simple as making sure you've got the right Doctype at the top of your XHTML document. Is it XHTML 1.0 Strict, XHTML 1.0 Transistional, HTML 3.2 or HTML 2.0? Making sure you've got the right type of document is always the first step in the process of validating your site. Some Doctype's don't allow things like "target="_blank" for opening new windows. Something simple yet it will show up as invalid code.
A great resource for making sure your site pages validate is brought to you by those handy dandy people over at the World Wide Web Consortium (W3C.org). They have several free online validators for XHTML and CSS and more so you've got no more excuses.
Their tools will lay out each error encountered and will often give you some idea of how to fix it. Having clean and valid code is just another way of making sure you're on top of your SEO and coding game.