In relation to programming languages, script refers to the non-compiled interpreted portion of a program.
In relation specifically to TCL, _a_ script is a collection of 0 or more Tcl commands that one plans on executing as an application, library, or call-back. Said commands can later be sourced if stored in a file, run from a command line invocation of a TCL interpreter, eval'ed from a variable, invoked as a part of a call-back, and possibly executed in other ways .
Why might you do that? Well, most languages have unique features or functions available which make doing certain things easy. In some cases, using something built in or distributed in one language is quicker than reinventing the wheel in another language.