Verification and validation are indeed a frequent source of confusion and they are often used interchangeably when they shouldn't.
Let's quote IEEE's (free) SWEBOK, page 10-6:
Verification is an attempt to ensure that the product is built correctly, in the sense that the output products of an activity meet
the specifications imposed on them in previous activities.
Validation is an attempt to ensure that the right product is built —that is, the product fulfills its specific intended purpose.
In other words, verification checks that product complies with the requirements, whereas validation checks that the goals are met. Verification is something that you can do. Validation is somewhat where the client or the users have to provide feed-back.
Applied to the requirements, it means (page 1-11):
The requirements may be validated to ensure that the software
engineer has understood the requirements; it is also important to
verify that a requirements document conforms to company standards
and that it is understandable, consistent, and complete.
In other words, in the verification you check that the requirements reflect what the user told you, that they are well written and accurate. While you are verifying this you might find ambiguities and clarify them. For the validation, the client or users approves the requirements, confirming that what they understand seems to reflect what they think is needed.
In practice, verification and validation are embedded in the development process. At every step, verification intends to ensures accuracy and compliance with expectations. Validation intends to get a feedback about success.