That's a good post! Here's how I describe the difference:

Validation ensures that data are in the correct format/type, and within appropriate bounds.

Sanitization ensures that data are safe, whether it is KSES-type scrubbing of malicious data, or escaping data appropriately for context.