In Agile Software Development, for example SCRUM and XP, User Story is a tool to capture the requirements from the clients. The term User Story takes a very free form. Sometimes, we feel that there needs to be a boundary so that a user story is an effective one and not misused. I have a feeling that INVEST defines the border line on this regard.
The INVEST principle is a very good guideline for defining user stories in an agile environment. According to the principle, a user story should have the following characteristics-
Independent, Negotiable, Valuable, Estimable, Small, Testable
For an elaborate description on each of the terms please take a look at the link http://agilesoftwaredevelopment.com/blog/vaibhav/good-user-story-invest