CHECKSUM is *not* a collision-free hash function by any means. It generates 32-bit hash values, or checksums, which means collisions can be discovered by brute force with a complexity of 2^16 operations. However, the simple algorithm CHECKSUM uses appears to cycle after 16 bytes of data and collisions are frequent among data of the same length. For instance, "LE" and "AAAAAAAAAAAAAAAALE" both produce the same CHECKSUM value. Also "LE" and "MU" produce the same CHECKSUM value.
In fact, among the 676 possible two-letter uppercase combinations of A - Z ("AA", "AB", etc.) CHECKSUM produces 244 duplicate hash values. This does not represent a small chance for a collision. HashBytes with SHA-1 is the best built-in option available to SQL Server for trying to detect change with a collision-free hash function.