In the simplist of terms, a branch is the place that [:Revision:revisions]s go to when [:Commit:commit] is run. The revisions stored in a branch are ordered according to their introduction.
[:StandaloneBranch:Standalone branches] are clearly a branch in every sense of the word as the full history for a branch is present. A [:RepositoryBranch:Repository branches] also qualifies as a branch, even though the tree does not have an integrated working tree.
A [:Checkout:checkout], on the other hand, is technically not a branch because it does not contain all of the ordered revisions that make a branch a branch.