As far as I understand Message Digest is a certain Hash function that is derived from the original payload, so that even if a single bit changes the Message Digest proves to be different, thus indicating a failure of data integrity. When it comes to Checksum, I know that it is used for error detection, and is based on a similar mechanism.
What is the difference? Why name two different things?