A scripting language embedded in many applications, much like Elisp is used in Emacs and VisualBasic is in many MicrosoftWindows applications. It is not well suited for writing large programs, but because it is almost always combined with the Tk ToolKit, it used to be a good choice for writing portable GUI-based scripts. Most people would probably consider it obsolete; the dwindling popularity of Tk only contributes to this.
Perl, Python and Ruby are better choices for more modern scripting needs, with Lua suitable for embedded use, while GTK and Qt nowadays lead the ToolKit pack. The problems with Tcl are mainly in its data-structuring limitations: arrays and lookup tables are not first-class objects, and the lack of references makes it difficult to pass around complex data structures easily.