a direct, easily seen edge to us as coders is the better readability, being less fussy argument/parameter passing
One range of applications is when you are writing a set of functions intended for interactive use in the REPL and you want to keep context between them. These days though I use contextvars to do that, in the JVM world thread local variables are a great way to do that (Clojure uses them to set numeric precision.)