In order to effectively discover and deliver solutions that resonate with your customers it is important to go beyond the needs (e.g requirements) they express and understand the goals they are trying to accomplish.
The agile user story format is effective for capturing these needs and goals:
As a role I need to be able to do this such that I can accomplish this goal
Here is an example:
As a user I need to be able to upload pictures such that I can share them with friends & family
Taking the goals into account allows us to really understand what the user is trying to do (e.g. share pictures) and the associated pain points (e.g. take a picture, then download to computer and then upload to online photo sharing application) with an existing solution and develop effective alternate solutions that truly resonate. Take the example of the iPhone. It allows you to take a picture and easily share it with others.