This might be a way a company can run a pseudo-anonymous identity validator.
John Doe would create an account with foo.com. Foo.com would know John Doe's real life info. When John Doe wants to create an account with bar.com, foo.com sends a hash of the user (the user account + a nonce + the hostname, all hashed.)
Bar.com gets the hash, and John Doe creates a user with a handle. Later on, John Doe tries to create another user for a sock puppet. bar.com realizes there is already one person with that hashed userID, so disallows the user creation unless the other account is removed.
Bar.com finally gets tired of John Doe, and bans him. John Doe creates another account, but because foo.com sends a hashed user that is banned, that is stopped.
Never does bar.com know anything about John Doe other than that he has a foo.com account, and a certain hash. However, the info is good enough to block John Doe from creating other accounts unless he manages to fool foo.com into having multiple, real named accounts with them.
Of course, this isn't 100%. Foo.com can have lax identity validation measures which allows duplicate users. Someone can find out the nonce used as part of the username hashing process. This can be mitigated by adding another database tuple with a random number, but this would mean that foo.com would have to have a 128 bit number for every single site a user visits, rather than calculating a hash.
The result is that a person would have privacy... the worst that happens is that they are blocked from accessing the site. Trying to find the person's real identity and coming after them would be difficult.