As others have said, messy code is one concern when using software such as Publisher. I'm a web developer by trade, and just started a new website with free lessons on how to create websites by writing your own code. I start at square one so anyone can follow along and learn.
Here's a good place to start:
XHTML Lessons « Learn Web Code