Why is comments_template() working without a comments.php file?

If in the root of the folder of your theme there is no file “comments.php”. Than comments_template () include the file from the path “/wp-includes/theme-compat/comments.php”.

To make changes in that file you can copy “comments.php” from this folder to the root of your theme. And then change as you like.