JTAG stands for Joint Test Action Group. It is also known as IEEE-1149.1 or Boundary scan.
It is a standard (originally developed in the late 80's) for boundary-scan low-level applications (flash programming, testing, debugging etc.) mainly on embedded style devices.
It is mainly used to support direct low-level communication with the CPU and attached hardware and as such one possible use would be to repair corrupt NAND boot loader updates (so called Bricking) on the GP2X others include exposing it as a very powerful debugging tool.
Here is a very useful FAQ on the subject of JTAG - in this case for ARM-based systems -- Including details on how to build various types of JTAG cables.