If an input file contains no tags, the tag file will contain several lines beginning with !_TAG
If stdout is chosen (eg by -f -), the output is empty. It's because "if (TagFile.numTags.added > 0L)" is false in sortTagFile in entry.c and catFile doesn't get called.
Probably there are more differences because openTagFile is called once for every input file in stdout mode, and once for a program run in a regular file version. I would rather try to always call openTagFile once, no matter what mode is chosen. With closeTagFile a temporary file could be written if stdout mode is active.
Probably all this is really unimportant, but I report what I saw.