Si te fijas, en la etiqueta <form> hay un atributo method="post"... eso quiere decir que cuando envíes el formulario (con el botón "submit") se enviarán todas las variables a la página que se especifica en el atributo action=(también de la etiqueta <form>). Esas variables se envían dentro de un array llamado $HTTP_POST_VARS... (sería mejor utilizar $_POST).
O sea que las variables que envías serán:
$_POST['nombre']
$_POST['email']
$_POST['coment']
Como tu formulario tiene el atributo action que llama a la misma página, cuando accedes a esa página ¿Te mostrará el formulario? o ¿Enviará el mail y te mostrará el mensaje de "gracias..."?... para decidirlo, Se pregunta al comienzo del script si existe el array $_POST..
-Si existe, quiere decir que la página ha sido llamada desde el formulario con el botón "submit", o sea que ya se ha llenado el formulario, entonces lo que hace es procesar esas variables del array, enviar el mail y mostrar el mensaje: "gracias...".
-Pero si no existe, quiere decir que la página ha sido llamada desde otra parte, menos del formulario... entonces lo que hace es mostrar el formulario y ya no ejecuta la parte del script de enviar mail.
Espero que se haya entendido.
Saludos