Its LIKE a scratch pad, This will not go to permanent MEMORY unless you explicitly specify.
This is used if you have page up/page down LOGIC in your CICS screens.
Program A calling Program B which selects db2 rows, So in program B you can write all your rows FETCHED to a TSQ and come back to program A, now you can read these rows from TSQ rather than going to Db2 every time.
If you have large amount of data to be passed between to tasks of a transaction you can use TSQ.
TDQ:
If you want some processing should happen depending on the data that you have read from the screen for example. user wants to print the screen, take the information write it to a TDQ this will trigger a transaction which does the PRINTING.
Trigger level tells and indicates, after nth record is written to a TDQ it should trigger the transaction associated with it.