Probably the most common way people interact with Tcl is through python, ironically. Tcl has a GUI library called Tk, through tkinter, available as part of the python standard library.
Outside of Tk, Tcl pops up in a couple of odd places, usually as part of some testing system (expect(1) and SQLite use it) or build system, though use has fallen off quite a bit since the 1990s.
Placing somewhere between a lisp and shell, it's incredibly effective as a language for gluing things together and creating DSLs, and is fairly easy to embed in a manner similar to Lua.
Definitely not a perfect language, but one that I find extremely comfortable to work in and iterate quickly for certain projects.
Antirez's blog has a pretty concise explanation of Tcl's features and what makes it special:
I used to work at a place whose webserver was in TCL (AOLServer). Once I figured out some of the gotchas, I learned to really like TCL.
Like you mention, it's used as glue in lots of places, for instance in my Electrical Engineering classes to glue together VHDL/Verilog and program FGPAs.
I have a friend who worked as a principal developer on an EDA product from Synopsys. It was amusing how he converted all of the product and product acquisitions into TCL and whatever compiled language + a c lib so he could invoke the feature from TCL.
the only thing I know about Tcl is that git uses the tcl language to generate the git gui and gitk programs.
[0] https://news.ycombinator.com/item?id=30939560