It's especially handy in UD Mobile, because it's both a button and status indicator, like a keypadlinc. One main use for it is to trigger programs on scene on/off commands, since IoX doesn't offer "If scene command..." directly. I include a virtual switch in the scene I want to watch and the program triggers on the status change of the virtual switch (which can't ever get turned on manually...).
I often use two virtual switches in pairs. One use is to control my garage door opener, and indicate open/close status, even if the opener is controlled manually. Another pair controls/indicates watercop valve atatus. Again for pool solar heat control
The only downside is that you don't get control events, only status.