Using HTML-style comments in a page that will be generated or interpolated server-side before being served to the user increases the risk of exposing data that should be kept private. For instance, a developer comment or line of debugging information that's left in a page could easily (and has) inadvertently expose:
Because every other language has its own native comment format, there is no justification for using HTML-style comments in anything other than a pure HTML or XML file.
<%
out.write("<!-- ${username} -->"); // Noncompliant
%>
<!-- <% out.write(userId) %> --> // Noncompliant
<!-- #{userPhone} --> // Noncompliant
<!-- ${userAddress} --> // Noncompliant
<!-- Replace 'world' with name --> // Noncompliant
<h2>Hello world!</h2>
<%-- Replace 'world' with name --%> // Compliant
<h2>Hello world!</h2>