In a "pure" technical point of view, you can use this activity in different ways:
1- grab additional data such as "additional data" from the query activity and filter those data more easily in the frame of your workflow. Technically, each activity generates a DB work table with the Id of your main targeting dimension... Putting "additional data" creates new fields in those DB work table that you'll even be able to call them in a delivery (code in the delivery: targetData.nameOfTheAdditonalField)
2- create links between schema / tables that have not been declared at schema level: exemple, you could create a link between quarantine schema (nms:address) and recipient schema (nms:recipient) using the email address just in the frame of your workflow in order to filter out later all the recipients where the link exist...
In most of the case the links created this way are specific to each implementation as it deals with specific custom schemas
3- change targeting dimension: when you import a csv file for example, the result is just "lines"... But you certainly wants to specify that for example those "lines" are recipients and, then, you'll use a particular field ("email" for example) in those lines to identify to which recipient it belongs