You might want something like that so you can create scripted events and/or tie multiple application together.
for example: program1 -> program2 -> program3
program1 might connect to some sort of server. It then hands control to program2 which gets a file list and searches for those files with the artist equal to "Metallica"

. It can then hand those sub-list of files to program3 which could play them.
This type of scenario is well know to those familiar with unix command line tools:
ls /files | grep 'Metallica' | mp3player