Woocommerce: deleted single-product.php, everything still works. How is it possible?

Themes can override WooCommerce default template pages, to customize the appearance of those pages easily. There should be a folder within your theme folder called woocommerce. WooCommerce checks for template files within that folder first. If a file doesn’t exist there, it loads it’s own template file.

Edit:
If you want to customize those pages, check out WordPress’ child theme functionality. Otherwise you lose your changes when updating your theme. The woocommerce folder within a child theme (if existing) will be checked first, then the woocommerce folder in the theme folder.