There is quite the thread on clojureverse where a lot of this is hashed out (both advocates and critics).
I think the historical motivation is well captured in Alex Miller's talk A Trick of the Tool. It primarily focuses on the emergence of tools.build.
From the QA section "The Beast of Obstacle":
"We really spent a long time chasing a declarative way to define builds, and the attributes that you use in your builds, and get that into declarative data, and deps.edn...we came at it from several different directions, I build things that worked several different ways, and we eventually threw it all in the bin...and decided that...it's very tempting to take [the] common build scenario like compile stuff, make a jar, that's it, where there's only like 3 variable things in there, and I can pull them out and put them in attributes like declaratively drive some set