It’s simple, but sometimes leads to frustration, the value comes from the user.
You can give the user the best technically possible, user friendly, powerful application, but it is him/her which gives the value to it. You must “sell” the application to the user, convince him to use it.
Many times the question is "are you building the application that the user needs?” but sometimes you build the application you want to build or the application you think your user needs.
A user given an application which does not give any value added over the old solution, simply wont use the new, I’ve seen (literally) hundreds of thousands Euros spent in projects that simply don’t do what the user wanted the way the user wanted. And that project never was used.
So, talk with your users, try first to get their real requisites, needs and hopes and then, only when you got it, give them a brilliant technical solution, which sometimes will be a lot different of what you initially thought they would need.
Make a prototype show it to them, let them play. Show them the advance of the project, do anything you need to satisfy them, because if your users are not happy your work will be in vain.
Inspired by this post.