User stories are short descriptions of features or functionality that provide value to end users. They are written from the perspective of the user and follow a standard template of "As a <role>, I want <goal> so that <benefit>". User stories should be independent, negotiable, valuable, estimable, small, and testable. They provide a way for customers to influence development without formal requirements documents. Acceptance criteria define how a story will be considered complete. User stories are used in agile methodologies like Scrum to plan and track work in sprints.