Why Doing It Yourself is Best.
There are two ways that most people who create web pages do it: either they hire a professional web designer, or they use some visual HTML editing software. You could say that hiring a designer is like getting someone to make furniture for you and deliver it, while using an editor is more like buying flat-pack furniture.
What I'm here to tell you, though, is that you should consider doing things another way. I'm telling you that you should go get yourself some wood and a saw. In short, you should do it yourself.
Why Would I Do That?
No matter what you might do, unless you're doing it yourself – that is, coding your website by hand – you're not going to have full control. Doing it yourself gives you control over every tiny, tiny detail, and puts you in a situation where there should never be a problem you can't fix. You're not relying on a company, or a designer, or anyone else – whatever goes wrong, you can fix it.
Thanks to XHTML and CSS, creating websites by hand has never been easier – in fact, once you know the basics, it's often easier than fighting with some piece of software to get it to make things look the way you want. Once you know the tag for an image, it's much easier to just type it than go through a bunch of menus. When you know you want something to be a certain width, it's easier to type that in than to try to make it the right size using the mouse. Web design benefits from the kind of preciseness that you get from doing it by hand.
At every stage in the process, you know what you've done and you know what you have left to do. If something isn't working the way it should, you can easily look through, find the problem, and make it right. Altogether, not only do you save the money that you would have spent on Dreamweaver or FrontPage, but you also end up with a better website in the end.
Tables and Coding.
For a long time, the biggest reason to stay away from hand-coding websites was that most complex layouts were done using tables, and tables were hard, especially when you had to put one inside another. Any modern website, though, really shouldn't be using tables at all, which means that you won't have to learn how to do them – that takes down the biggest barrier to hand-coding. HTML is very easy to figure out, and from there all you have to do is learn a little CSS (there are plenty of good books on it, and there's not that much to learn altogether) and you're away.
There are only a limited number of things that you'd want to do in HTML, and they've all been done by someone, somewhere. When you see an effect you'd like to use on any website, anywhere, knowing HTML means that you can simply use your browser's 'View Source' function to see how it was done and adapt it for your own website – this is generally considered an OK thing to do.
You'll also be able to start building up little libraries of code you've written yourself – a two-column layout, a splash page, and so on – and quickly adapt them as they're needed. Even better, if you already have some HTML from a template that you bought or that came with some software, having built websites yourself will give you enough know-how to figure out how to edit it and make it look exactly the way you want.