If the backer_name property is set without the DynamicControl station temporarily also having that name, the name gets updated in all the schedules that contain that name as well.
For example, a train with Iron|Green in the schedule, when the station sets its name to Iron|Red, the schedule will just update to Iron|Red without a second station there to preserve the Iron|Green name. Destroying a station leaves the name intact in the schedules.
Potentially when a change is triggered, you could destroy the changing station and recreate it with the new name -- but you'd need to find and recreate all the circuit network connections to it as well. Having a designated swap station was an easier approach to implement.