One Scrum team I took over had a backlog of over THREE THOUSAND STORIES that the business “needed to get done”. Given that the team has a velocity of about 30 stories in each iteration and their iterations were two weeks long this meant that if no new work arrived they theoretically had enough work to last them for almost four years, assuming no new stories were added.
To clean this mess up we started a brand new backlog and stopped using the old backlog.
We then worked with the current business stakeholders and the team to identify what they really needed and added those Stories to the new backlog. This worked for everyone. The business were able to identify and prioritise what they really needed. Everyone got a much better idea of the highest priority work and what was coming up in the near future. The nagging doubt that there were high priority Stories lingering somewhere in the monster backlog was removed. The team also felt less pressured and more involved in their work coming up. Planning also became much easier.
In the year I worked with this team we only ever pulled one story form the old backlog into the new backlog.