I just got subscribed to this list so pardon me if I'm out of context.

Different schemas need different namespaces unless you can guarantee that
any name occuring in both schemas will have a common definition. Thus if you
move from one version to another, take MODS for example, and you change the
definition of, say, titleInfo, then if you want to maintain the same
namespace, you need to change the name of element titleInfo.

I can't recall the exact example but in one of the MODS revisions we
concluded that it was much more disruptive to change the element names (e.g.
titleInfo --> newTitleInfo) than to change the namespace.

A generic namespace with different locations doesn't get around this. You
cannot guarantee that sometime in the future some third schema won't
reference names from two different schemas with the same namespace.  When
that happens, if the reference an element that has different definitions in
the two schemas, you'd be in trouble.