What is the difference between Product Backlog and Sprint Backlog?
The Scrum Guide says a lot about the Product Backlog, but here's a short piece that's a good start:
The Product Backlog lists all features, functions, requirements, enhancements, and fixes that constitute the changes to be made to the product in future releases. Product Backlog items have the attributes of a description, order, estimate and value.
There is an important point to be made here though. It is not a "scope document". Anything that could be worked on for the product goes into the backlog, but there is no assumption of permanence to it. The backlog will constantly change and items will be refined, removed, and added.
The purpose of the product backlog is to provide a single, ordered list of work so at any time, anyone (on the team or off) can see what may be worked on and where its likely priority is.
You'll also find that teams spend a lot of time focusing on the top of the Backlog and not worrying much about what's lower down until it works its way up. As the Scrum Guide puts it:
Higher ordered Product Backlog items are usually clearer and more detailed than lower ordered ones. More precise estimates are made based on the greater clarity and increased detail; the lower the order, the less detail. Product Backlog items that will occupy the Development Team for the upcoming Sprint are refined so that any one item can reasonably be “Done” within the Sprint time-box.
During Sprint Planning, the Scrum Team determines a Sprint Goal and identifies the associated items from the Product Backlog. These items are added to the Sprint Backlog, but that isn't everything. The Development Team will then decide how they want to do the work and that will most often result in tasks being created to complete each backlog item in the sprint backlog. (I'm giving Sprint Planning a light treatment here. You can read more details in the Scrum Guide)
The Sprint Backlog is the set of Product Backlog items selected for the Sprint, plus a plan for delivering the product Increment and realizing the Sprint Goal. The Sprint Backlog is a forecast by the Development Team about what functionality will be in the next Increment and the work needed to deliver that functionality into a “Done” Increment.
The Product Backlog is the list of all tasks and ideas that relate to the product. It could be infinitely long, but organised and prioritised constantly - the ultimate wish list. It represents the total potential product, some of which may never make it to development.
Sprint Backlog refers the the batch of items you pull in for one sprint - the items you actually plan to develop within a period of time (e.g 2 weeks).