AddOutput can do two useful things.
The first is changing values of entities you'd normally only be able to set in Hammer, like names. Note that these must be referenced by their true variable name (such as targetname) rather than what's displayed by default in Hammer (Name). You can figure out this variable by disabling/enabling smartedit.
The format for the parameter is <key> <value>. Example: "targetname Bob"
I've found this useful, especially when testing payload. For example, (ent_fire payload_train addoutput "startspeed 400") sets the max speed of the cart to 400, about 4 times faster than the usual.
The second is, as the name implies, to add an output. The parameter format is
<output name> <targetname>:<inputname>:<parameter>:<delay>:<ma x times to fire, -1 means infinite>.
Example: "OnFinished game_round_win:RoundWin::0:-1,0,-1"
I'll check out the training maps when I get home to see if I can find anything that'll help.