Q:

svn: differences between tags and a revision number reference

This is a similar but not identical question to What do you use the svn tags directory for anyways?; there are some subtleties here that I want to understand.
Besides the following features:

referencing a particular state of a file tree with a name rather than a number
modifying name-number associations (but maintaining their history) by changing a particular /subtree/tags/{tag_name} directory
use svn switch to update your working copy to a particular tag

what else can/should you do with tags?
If all tags do is take a snapshot of a particular subtree root at a particular repository revision, technically you could:

use /subtree/trunk and subtree/branches without a /subtree/tags directory
create properties on the /subtree/trunk directory e.g. tag:Release_1.0 = 309, tag:Release_1.1 = 496, etc. 

and you'd have a name-number mapping, with revision history, that is readable by tool programs.... it's just that right now the set of svn tools uses the /subtree/tags/ convention for a few things.
Is there any reason to put files into the /subtree/tags/ directory which are not all from the same revision of the trunk?

A:

Is there any reason to put files into the /subtree/tags/ directory which are not all from the same revision of the trunk?

Yes, of course. 
Assume that revision R was tagged as version 1.0, and everybody is happily hacking away on the trunk. Now support identifies a particular bug in 1.0 is already being fixed in file foo.cpp in revision (R+n) and the fix is an isolated one, that doesn't require any changes in other files. What they can do now is to create a version 1.1 which is a copy of 1.0 (what used to be revision R) except for foo.cpp, where they use revision (R+n), so they have that fix in 1.1. 

