TL;DR
This post explains and provides example for difference between verification and validation, given by Black Box Software Testing Foundations course (BBST) created by Rebecca Fiedler, Cem Kaner and James Bach.
Definition
Main question in verification is: was something implemented correctly?
Main question in validation is: are we building the right thing?
Example
For verification we need to have checklist. That list may be explicit, or we can help ourselves with creating implicit checklist using FEW HICCUPPS mnemonic [M. Bolton].
For validation we must do investigation, experiments, we do TESTING. We test program interaction with people and other programs. For example, how Google Maps on Mobile Phone interact with human user when user is in tunnel with weak signal? This is validation.
Software testing is both, verification and validation. Problem is that many perceive it as only verification.