First I am not going to tell you why you should or should not use a WYSIWYG editor. I am going to say my thoughts on why we should hand-code our pages.
To learn how anything works in this world most of the time you have to dig into the guts of it. You can not sit there and look at it and figure out what little intricacies make it tick. I can not look at a computer and tell you how it works. I could read a book and then tell you, but how could I tell you how much thermal grease should really be applied to a cpu/heatsink without having done so myself? If you want to understand your page then you have to make it…by hand.
Painting With A Purpose
Every artist has a story behind their painting. They can tell you that every stroke has a purpose. Nothing is ever done just for the sake of doing it. When you hand code your pages every item you add is added for a purpose. You take a greater sense in what you are doing and have a greater understanding of your own pages. Your work should be your own and if you do not understand it then it never becomes your own.
Typewriters Are Evil
I have a theory about classical literature. I believe that there are more classical works and will always be more classical works written before the typewriter than there ever will be after. The reason I believe this is because writers had to take more care into what they put down on paper before the typewriter came about. They could not waste too many resources on unnecessary words. When they wrote the first “T” in “The” to start the novel they knew why they did it. They felt the “T” being written and therefore immersed themselves in their own novels. Their works truly became their own. You can never get to that level of immersion with a typewriter or word processor. You can not get to that level with a WYSIWYG editor.
Power and Control
Hand coding your pages gives you unprecedented control over where each element appears on the page. You control where each element goes. You control how your code is formatted. You have the power.
There Is A Time And A Place
I am not saying that you should write out every single XHTML page on your site. It would be silly to hand code a hundred headers when all you need to do is write one header and simply include it in all of your files. I hand coded my header and side bar for this site. I hand coded the templates to every page and therefore I know what makes this site tick. I do not hand code my entries because there is no need. MoveableType does this work for me. The site is coded and now automated for me so that I can focus on the content that I write (be it through a keyboard). My entries usually only consists of a <p> here and a <h2> there.
I never understood why schools make their students design pages through WYSIWYG editors. I am sure there are reasons, but to me it is like teaching someone how to paint by numbers. If you really want to be good and gain an appreciation for your own hard work then hand coding is where it is at. After you become somewhat knowledgeable in XHTML/CSS then by all means find the best tool for production.