The TargetControlID is one of the key properties with the AJAX Control Toolkit. Being a property defined on the control extenders, this property signifies the control that the extender extends. It has to meet the ID of the control it wants to extend. It's up to the extender to validate whether that control is of a valid type.
At runtime, the control provided through the TargetControlID is used to get a reference to the underlying HTML control, available on the client side in the extender with get_element(). If you do any custom AJAX control/extender development, this.get_element() returns a reference to the underlying HTML control being extended.