You can see here a simple definition of backlog
in Agile Project management:
A backlog is a list of features or technical tasks which the team
maintains and which, at a given moment, are known to be necessary and
sufficient to complete a project or a release
There are three different backlog
types being them the following:
Product backlog
According to Scrum in the Wikipedia, its definition is:
The product backlog comprises an ordered list of requirements that a
scrum team maintains for a product. It consists of features, bug
fixes, non-functional requirements, etc.—whatever must be done to
successfully deliver a viable product. The product owner orders the
product backlog items (PBIs) based on considerations such as risk,
business value, dependencies, and date needed.
Or in other words, all of the tasks needed to be done to finalize the product.
Sprint backlog
The sprint backlog is the list of work the development team must
address during the next sprint.
In Scrum (for example) you develop in sprints. Usually sprints have the duration of 2 weeks. And for each sprint you should pick a set of tasks from the backlog
that you think you will conclude in the duration of the sprint.
Release Backlog
The goal of a given release is to deliver a subset of the product
backlog, known as the release backlog.
Usually you develop your product by releases. First you determine which tasks go to each release, so you can release earlier versions of the product for the client to test and suggest modifications, without too much time and resources spent.
With that in mind, your `To Do` should be probably interpreted as the sprint backlog and your `backlog` the product backlog. Or you can use your `To Do` as a release backlog for instance if you don't develop by sprints.