In addition to the uniqueness issue, there is also the compatibility issue. Usernames can include characters that are invalid in URLs. Those characters would need to be replaced with hexadecimal codes or arbitrary replacements, and either solution would result in a different URL and affect readability.
Users can also change their user name (Somewhere Else this is frequently done to protest various management actions or as a response to world events), which would invalidate a saved name-based URL. An ID # based URL will work as long as the user is active.