We have a situation where we have a parent company and two subsidiaries sharing office space, and thus a common phone system as well. However each company has their own way they want their phones configured. It turned out to be very convenient to make use of the user_provisioning setup and define alternate configurations for each company, and in some cases even alternate feature sets for special uses, and let these be picked when creating the phone record in the system. So we might have 3 or 4 different configurations for the same model of phone (for example: "Polycom 550/560 (Company A Logo)", "Polycom 550/560 (Company B Logo)", "Polycom 550/560 (Lobby)", "Polycom 550/560 (Conference Room)", etc). Normally no big issue. But every so often we've run into a situation where we want to change which of those configurations a specific phone is using, and the UI doesn't want to allow it to be changed (this would make sense if there was only one valid configuration for any given device, since a MAC address wouldn't suddenly move to new hardware).
To do this through the UI you currently have to delete the provisioning record, and then re-create it from scratch, which requires re-entering the MAC address, and all of the line assignments the phone had.
What we've ended up doing is manually editing the device type listed for that device in /etc/asterisk/devices.txt, and then reloading the auto-provision page and re-provisioning that device. This works great. It would just be convenient if we didn't have to go edit a file on the shell to do it. :)