Why? Because in the beginning of an initialization it save modules and providers checksums. Thanks to this you can track if anything changed in the version you used.
Source: https://www.hashicorp.com/en/blog/terraform-security-5-foundational-practices