Taxonomy is a demon which separates people into perfectionists and non-perfectionists just before dragging both the kinds to hell of exceptions, weird relations and impractical location. Perfectionists get stuck spending infinite amounts of time engineering the taxonomy, non-perfections face the quirks later. Tags are better but can turn out to be even harder (for similar reasons, amplified combinatorially). Labels a…
How are "labels" different from tags?
"Tag" — if I understand GP's point — implies some structure. In the above examples, it would rather be "ByLocation::Planet Earth::Europe::Netherlands::Amsterdam", "BySubject::Animals::Dogs::Amsterdam(MyNeighborsDog)", and "MyProjects::ByYear::2021::ProjectOnAmsterdamStreet" — or similar. In this case, if you're interested in the neighbor's dog, you're searching by its specific tag, or — if you don't remember its name — a search for "BySubject::Animals::Dogs" might help you. Any such search will also keep the other "Amsterdam" results away.
The problem with tags is how exactly do you implement them. Your project on Amsterdam street may have begun in 2021, but still ongoing in 2022 with no end in sight; or you may have forgotten its dates at all. Additionally, "MyProjects::ByLocation::MyCity::AmsterdamStreet" is not an invalid way to tag that project.