Terrence Seamon posts an interesting insight on how to answer the question in an interview "Why should we hire you?"
The best answer is to say, "You should hire me because I can do X for you and your company."
But how do you figure out what X is?
I call it, Finding Your Differentiator.
And the way to discover it is by working, really working, on your resume.
I find that as the job hunter works on their skills, accomplishments, and Summary (or Professional Profile), especially the identification of key capabilities, they get closer to their differentiator(s).
So what's your differentiator?
To add to Terry's suggestions I would add - think of the time when you have been happiest and contributed most to the organization and think what was the difference between that role and others when you might not have felt so good.
Also try to see what was special to the context and outside your influence.