I'm fairly confident with xhtml and css. However I have no knowledge of mobile sites, html5 etc.
In this case, is it worth buying Dreamweaver to help build my skills or is it a matter of buying a book/learning via articles on the web?
I agree with this. Dreamweaver won't help you build your skills so much as allow you to do things when you may not really understand how they work, like embedding Flash movies or something like that.
It does provide a handy interface with all the coding tools you'll ever need, a nice split view between code and design and a CSS window, that's pretty much all I use it for. I don't even use the built in FTP client anymore, Filezilla is much faster.
Dreamweaver became mandatory tool for developers so devloping the skills with dreamweaver is a true asset
There are lots of code editors that do the sort of thing Dw does, at a tiny fraction of the cost - if at a cost at all, as there are some free ones that are pretty good, too.
I would learn about mobile sites and HTML 5 through tutorials and then decide which editor you felt most comfortable using. I use WeBuilder which has been updated to support HTML5 and CSS3.
For me, the main benefit of Dreamweaver is speed, i.e. you can quickly create HTML elements, rather than have to laboriously type stuff out. In terms of teaching you techniques, you can get that from tutorials on the web. Dreamweaver just speeds workflow up for me. I originally bought Dreamweaver 4, then upgraded to Adobe Creative Suite 2, then CS3. It's been worth the investment for me.
Hope that helps.