...I agree here. I've always been reluctant to encourage students too strongly to use the output functions in CGI.pm because some of them will have to maintain their code. And I couldn't find any great rationale for the extra effort that would be involved in writing code to essentially spit out HTML that you'd have to form anyway in order to get the function to produce it.
There are rare occasions in which it is useful to spit out a small section of HTML from the module functions, and I hadn't considered the very valid point in the original posting here that the module does allow poorly formed HTML to be noticed more easily.
But as a general rule, there's usually a better way to embed the HTML in your code. And of course if you're working on anything that transcends the trivial, you'll want a template. Another post here addresses that nicely.