Hi,
A checksum is data generated and stored for an application or file. There is one checksum that is stored for the application so it can be compared to. If a regenerated checksum for an application does not match the stored value, then it will be considered a new application. So basically, checksums are used for application identification purposes. The reduction of the level of security is minimal imo. Generating complete checksums may take a while (it may seem like the app is hanging when you launch it), so quicker ones are used. This can reduce the boot-up time for applications.
GG