Summary of prior discussions (with a focus on the “why” of the existence of tools.deps and the CLI) here.
Lein has over a decade in prior-market share, so a lot of materials are written with it in mind. I still use it for the majority of projects, although the cli is encroaching (voluntarily and otherwise) on my work. There are plugins for lein that patch in features I would find attractive with the cli (git deps specifically), but it’s not “quite” the same.
The cli/tools.deps still has the glint of new, and like boot (which is effectively defunct but still found in some legacy projects), some folks were quick to jump on since it offered flexibility by way of a direct path to clojure-programmable builds. That also came with some dev churn as the tooling was being dog fooded by Cognitect, but I think it’s relatively stable now though. If you prefer/need to specify your builds (maybe edging in on devops style stuff or make files or any other “flexible” build process with unique requirements), then the cli is probably much more compelling. If you don’t need that flexibility though, then perhaps the built-in suite of tasks in lein is easier.
The CLI has a bit of (IMO) Byzantine set of switches that define a pretty robust API though so you can do a bunch of stuff in the ream of unix style commands. That includes simple scripting with a single source file. lein tends to push you into making a project, although there are plugins that aim to facilitate scripting (again not “quite” the same though).
I think the not so subtle community pressure seems to tend toward pushing on-boarding people with the CLI , since it bears the mark of Official, it’s more flexible, etc. I see this period as - at best - a transitory period with a split brain (as opposed to the python 2/3 schism). A great many projects remain managed/developed in lein (given the knack for stability and backwards compatibility, some are effectively frozen). Many new projects are in tools.deps/tools.build. So if you want to work with source repositories of any arbitrary project, you would still need both to do so (in theory boot could even creep up, but it’s rare). A great many projects are also “only” deploying as git dependencies (e.g. source code repositories on github or elsewhere), as opposed to resolved jar artifacts on clojars/maven (the common deployment model from “before”). I think lein with lein-git-down can handle this emergent dev style fairly gracefully, but tools.deps does it out of the box. Many libraries (the vast majority I use) seem to still deploy as jar files to clojars/maven, which can be resolved by either platform.
Most of the documentation for tools.deps/CLI will be online and decoupled from legacy clojure materials. So if you pick a book up, chances are you are probably going to have to toss out all the lein walk through and project examples and supplement that with online resources around tools.deps and the cli. If you learn clojure from more recent blog posts, online tutorials, or e-books like John’s, then you will likely find tools.deps/CLI as the default.