Re: HTML
If this topic had come up a year or two ago, I would probably be answering the HTML aspect quite differently. Back then, I was of the opinion that throwing together larger web applications with a dirty CGI.pm based, horribly structured document1 was fine and that more attention should have been given to the coding behind the application. Jumping to the present time, I spend just about as much effort putting together valid XHTML and CSS templates as I do writing the code. It provides a relaxing state of mind knowing that you are consistent in everything that you do. There are many people who say "Oh well, it's only HTML, I don't want to spend time with something that is not even a coding/scripting language", and so they throw together an ugly beast. Which can wind up hurting in the end, especially in a full-blown web application. Remember, the user interface is a large portion of the project and deserves as much attention as the coding behind the application.
1: I'm not saying that CGI.pm is incapable of generating valid, well-structured HTML. It is, however, extremely easy to misuse CGI.pm's features and wind up with results that are far less than pleasing to both the eye and the X?HTML validator.