Should usernames be unique?

Should usernames be unique? It would get rid of annoying id numbers and reduce impersonation. After all, why would anybody want others to have the same name as them? On the other hand, a new user might not be able to sign up with their real name. In real life you can have any name you want.

So which is better?