Well, first off, chances are if you don't know why you'd use XHTML, then your site doesn't need it. Or so this thread says:
Regardless of whether you use XHTML or HTML as your DOCTYPE, I think it's pretty much a given that totally semantic and well-structured markup follows the Strict version of whatever DTD you choose. Any site using XHTML Transitional is thoroughly confused if you ask me.
As far as semantic markup, perhaps someone else will come along with a WikiPedia-esque answer, but I would tell you that it's basically a matter of using elements as they were meant to be used. If you need a large space between paragraphs, you don't add
You simply create the correct margin for the previous or next paragraph with CSS. This makes more sense to everyone- SE's, rendering engines(usually), screen readers, normal folk...
You use <table>s when you're presenting information that ought to be laid out in rows and columns... you don't use <table>s for a complex layout that has absolutely no use for rows and columns and the default behavior of the <table> element.
That kind of thing. The way I think of it is, the more well-structured and semantically correct a web site is, the easier it would be for a layman to sit down and read your source code and easily understand what your page is saying if the only help you gave him was defining what HTML tags mean.