Then you had the RMS flame war, back when he was still considered influential for programmers.
Then they kinda missed the boat when it came to packages. Never got something like CPAN going, whereas Python and Ruby did.
I can't remember exactly, but I think there wer some corporate shenanigans, too, with the whole Sun/Scriptics situation and Java stealing its milkshake, weirdly enough.
Speaking of siphoning off milkshakes, Lua did this for the scripting part. Syntax that was a bit more regular, implementation that was even easier to embed (and don't get me wrong, Tcl is/was pretty great there).
And nowadays, you either get lucky with some specific niche, or it's hard for a dynamic scripting language.
I still like it. Heck, I like my Tk bisque, too.
https://journal.dedasys.com/2010/03/30/where-tcl-and-tk-went...
Still worth a look if you like to learn new stuff though. Tk is neat, and Tcl's C API is still the bees knees in my opinion.