The original purpose for being able to switch the driver while the device remains comes from LVM, and in particular 'pvmove' which allows you to move data from one physical location to another without interrupting service.
If at one point in time, the data is being served by one device, and then later it is served by another device, then we need to be able to replug drivers at some level in the stack.
Once people realised that could be done, they quickly saw other possibilities. The one I hear the most is the idea of changing a plain disk to a RAID1 pair without unmounting. There are two difficulties with this: finding somewhere to the store the metadata that the array needs, and making the change while the data is 'live'. The former is probably solvable (not in general, but in practice in many actual situations - fdisk often leaves some blank space on the device that it partitions). The latter needs the ability to switch drivers while the device is live.
So the higher up the stack the functionality can be incorporated, the more generally useful it can be.