In general a backlog is a set of items of work to be done or that might be done. A work item may be a change to an existing product feature, a new feature, a fix for a defect, a change in the environment that the product runs under, or any other activity that may contribute to its value such as a refactoring of software.
In the scrum framework and other agile approaches, a product backlog or release backlog is ever-evolving and continuously updated. It is the single source from which work items are discussed, refined, selected, and committed to. Backlog items may be at different levels of detail, some with sufficient detail that they are ready to be implemented, others with a general description that will need further refinement. Backlog items may use different formats such as user stories.
A backlog item may include its business value as provided by the customer. It may include a size that is an estimate of the amount of effort to implement it. A backlog may have its items sequenced into an ordering in which they are to be implemented, where the order is determined by considering business value and size along with other factors such as dependencies.
In addition to the product backlog, an agile team typically creates a backlog specifically for each development iteration, known as an iteration backlog or sprint backlog. The items in a sprint backlog are drawn from the product backlog. Those items should be considered sprint ready.