You're not wrong at all, and I agree -- it's just that the source document has to "live" somewhere. If I were to be happy with it, I'd have to be able to create "debian/manual_on_this", then link it to my "ubuntu/" folder. When I add a change that's no longer "debian/" qualified, I should be able to "rm debian/manual_on_this", but have it live in "ubuntu/".
What I'm getting at is that tags let the filesystem ( or database, whatever ) manage the documents and present you with "links", rather then having original documents in the tree. It's like saying that C has pointers like Java (in before Java jokes), ignoring the fact you have to malloc / free.
Perhaps I'm ranting at this point, but I think it'd be a nice way forward :)
Off to implement it in fuse!