User stories help to create time estimates instead of using a large requirements document. They are about three sentences of non-technical text written by the customers as things that the system needs to do for them.
User stories can also drive the creation of the automated acceptance tests to verify the user story has been correctly implemented.
User stories should only provide enough detail to make a reasonably low risk estimate of how long the story will take to implement. When the time comes to implement the story developers will go to the customer and receive a detailed description of the requirements face to face.