What is the TERM_PROGRAM and  TERM_PROGRAM_VERSION environment variables used for?
I assume it is just an environment variable that stores your default program that you want to use to bring up a terminal window.  There are several different applications on OS X that give you a Unix-like command prompt.  The default is the Apple-supplied terminal in /Applications/Utilities/Terminal.app.  If you've installed some other terminal like iTerm or AquaTerm, then this variable is likely set to that particular application, if it is your default.  The name Apple_Terminal must be some internal shortcut to the full /Applications/Utilities/Terminal.app path.

Just like your SHELL variable, this is the default that is used in scripts or other programs, unless it is specified in those programs specifically, whereupon the default gets overwritten.

EDIT: actually this answer on stack overflow seems to confirm my suspicions.