Message authentication is the way to ensure that message was not changed by someone during communication between sender and receiver. Encryption does not ensure that message won't be deleted or changed on the way during communication process.
Like encryption, message authentication uses a secret key that Alice (sender) and Bob (receiver) both know. We'll call it authentication key, to distinguish it from the encryption key.
Message Authentication Code (or MAC) is calculated using MAC function: message_authentication_code = mac_function(authentication_key, message).
To prevent tampering with messages, Message Authentication is combined with numbering messages sequentially. (For example: by adding sequential number to message when it's sent, then signing it with MAC).
This way we know if message was changed (by using Message Authentication Code), deleted (by checking sequence numbers), or if their order of arrival was modified (by checking sequence of numbers).