These are two very different questions, first, what is primary controller shift, and second, how does that function in a smartthings environment.
Before we start, it is very important to remember that smartthings is a multi protocol platform. Your smartthings hub includes both a zigbee radio and a Z wave radio. Your smartthings account can also add some Wi-Fi devices and some cloud cloud integration. The primary controller shift applies ONLY to the Z wave functions of your hub, so even if you do use it successfully to join to another Z wave network, that wonât bring along any information about your zigbee devices or Wi-Fi devices.
Ok, here we go.
- Zwave allows for one âprimary controllerâ per network and additional âsecondary controllers.â The primary has a number of special functions. When you add a secondary controller to your network, the secondary should not have any devices already connected to it. You basically have to start over.
At the time that the secondary joins the network it will get a copy of the device table for devices that are already on the network. But in most cases it will not be updated with information if the primary adds additional zwave devices after that time. That means in order to get any newer network members exposed to the secondary, you have to remove the secondary and start all over with it yet again.
And as mentioned above, the shared information will only be for Z wave devices. Not virtual devices, not zigbee devices, not cloud to cloud integration. Just the zwave devices.
The most common use for secondaries is when you have a physical zone like a shed or maybe a garage or maybe a home office and you want to improve the local response time in that zone and you donât really care about having a rule that combines Devices from that zone with your other Z wave devices.
This is most appropriate for zwave networks that run locally, no cloud piece. Vera used to do this a lot, particularly for outbuildings. So itâs a function which is designed for an all zwave all local network which is being broken up into different physical zones.
Because the smartthings hub is a certified Z wave controller, it does provide the ability to add a smartthings hub as a secondary to another network, but you have to first remove any Z wave devices that were connected to it and basically start from scratch.
If you want to try and take a different Z wave hub and add it as a secondary to smartthings as a primary, itâs sometimes possible but it gets messy. You most often see this when someone has an almost standalone z wave system like one of the pool controllers that they want to add into their smartthings account.
So it can be done, some people do use it for some very specific use cases, but it doesnât help most people very much. Smartthings support specifically will not help you if you run into any trouble with this in either configuration. Because a big part of smartthings is cloud-based and this is not going to work well.
Official instructions for how to do it
And some more details including the official warning that youâre on your own if you try this
Learn mode allows the hub to join or leave a network, or receive the latest network update from another controller in the network. Note that you can only add a Hub to a different Z-Wave network if no Z-Wave devices have been added. Otherwise, you should remove all Z-Wave devices from the Hub first by putting them through a device exclusion. When the SmartThings Hub is added into another Z-Wave network, it may not receive notifications from some battery-operated devices. SmartThings Technical Support does not provide assistance to consumers using the Hub with other Z-Wave controllers.
So the definition is that this is a Z wave utility intended to allow you to create a network with one primary zwave controller and one or more additional secondary zwave controllers. But that function is intended for a network designed in a very different way than the multi protocol cloud-based Architecture that smartthings accounts use. So the function exists, but most people will never have a use for it.
( there is one other use which is to add a diagnostic device to your smartthings zwave network just for the purpose of running some diagnostic reports. That works OK because youâre really only interested in a very short term window while you run the reports. And again itâs only zwave.)
- It doesnât help with migration in any way. In order to add a smartthings hub to another network, you have to first remove any Z wave devices from it. just like you would have to do if you were going to just add the devices individually yourself. it canât bring along any of your other information such as information about zigbee Devices or virtual Devices or Cloud Integrations. It doesnât copy any of your cloud level account information. And, to be honest, it doesnât work very well anyway in a smartthings configuration.

So trying to use it would only add more work, not less, if you are doing a migration from one smartthings hub to another. 
@nathancu