A stream can contain filenames rather than the contents those files hold. xargs reads words and passes them as command arguments. That lets a filename list drive a command such as cat.
Ordinary whitespace splitting has limits: filenames with spaces need a safer delimiter strategy in real work. These fixtures deliberately use simple names, and the task states that boundary. Keep list order when the handoff expects file contents in that order. cat names.txt prints the names themselves. cat names.txt | xargs cat reads the files named by that stream. For arbitrary filenames, find -print0 and xargs -0 use a null delimiter so spaces remain inside names. Choose a delimiter both commands agree on, rather than assuming every incoming list follows the same format.