Any user using a web service which needs signing in is identified by the username. For example, my identity on yahoo mail is mallik_y2k2 and I cant change it. Generally these kind of systems doesn't allow you to change user names, only option is to discard the old user name and create the new one. But Twitter on other hand allows users to change their username.
Technically twitter uses an id for every user and this id is different from the user name. @Malliks has an id as 25659077 since twitter uses the id they treat the username just like any other field location or description and so its easy to allow the change. But generally the twitter links are of the format http://twitter.com/Malliks and all the @Malliks on twitter are pointed to that link and if some user changes his username all these links to his old user name will become a dead links. So am not sure if Username change was provided by Twitter as just another feature and was it overlooked completely.
Also Twitter app developers keep in mind that you need to use the id to uniquely identify the twitter user and not username and also need to keep in mind that usernames can be changed at any point of time.