both checksum and digest provide the ability to gurentee that the data was not modified
So what would make Hash code better than checksum ??
Checksums are an early design just to confirm against transit corruption in communication systems and links. This is a quick simple verification that the links are correctly communicating data. You can selectively modify data and keep checksums passing. But that would not happen by accident in transit. So the original purpose of the checksum still works to detect link problems.
Hashes are more robust and designed to add security to detect mailicious manipulation of data in transit. These are security features and constantly evolving as the threat to data access and manipulation increases.