I think it depends on what you use the HTML for. If you use it for its original purpose, "Hypertext", then vanilla should be fine. If you're writing a GUI-heavy application, HTML becomes more of a "rendering layer" and its semantics tend to play a smaller role (YMMV). So you introduce helpers, builders, abstractions for things like forms, menus and such (see Rails).
At that point, the PHP-esque mixing of HTML and code fragments becomes inelegant (again, YMMV), and solutions might be sought for a more readable markup. Bonus: no more closing tags.
At that point, the PHP-esque mixing of HTML and code fragments becomes inelegant (again, YMMV), and solutions might be sought for a more readable markup. Bonus: no more closing tags.