While I cannot speak to running Windows or Visual Studio in a VM on a Mac in Fusion, I can speak to the part about iPhone development (which requires Xcode and Mac OS X) in a Parallels VM.
iOS Development
I do iOS development with Xcode running in a Parallels (9, 10, and 11) virtual machine on a MacBook Pro Retina with terabyte flash drive.
Generally this works very well. The biggest plus having all my work-related stuff in one single environment. Specifically, Apple stores security keys in the Keychain. Trying to extract that from a real Mac and re-install on another is a mystery and a pain. With a VM, I make occasional manual backups locally and/or to an external drive. Getting a new Mac, or switching to another Mac just means one big file copy, then I'm up and running.
I even use the Notes app and Reminders app within that VM for my development work. I do not activate iCloud within that VM, so it just stays local to the VM.
With Mountain Lion running as the Guest OS in the virtual machine worked so well that I found myself getting confused about when I was in the real Mac and when I was in the virtual Mac. In the VM, I had to switch my Dock to the right-side of the screen to differentiate from the real Mac’s left-side Dock.
I am sure there is some performance penalty when running in the VM, but it went unnoticeable to me. I imagine the speedy flash drive saves so much time that it more than makes up for any overhead of running the VM. Overall, this is the fastest development environment I have ever used. With Mountain Lion, that is… read on.
CAVEAT: Mavericks, Yosemite, and El Capitan run noticeably slower as a guest VM. I have confirmed that in the latest and prior versions of both Parallels and Fusion, neither product makes graphics hardware acceleration available to Mac OS X as a guest OS. They do for Windows as a Guest OS, but not for Mac OS X (ironically).
So everything graphical runs slower. Menus drop down slower, and as you drag your mouse pointer through the menus items, they highlight and draw more slowly. Moving windows is not quite immediate. Animations can be herky-jerky. Scrolling is kind of hyper-active, a series of small visual updates rather than smooth. All-in-all, it is not a show-stopper for me, at least not yet. (I've only recently updated the VM from Mountain Lion.)
Why was Lion and Mountain Lion so performant visually while the later Mac OSes are slow? From what I learned in a brief tech note and email from Parallels company, Apple provided a shim with Lion/Mountain Lion. They had some library that helped to substitute for the lack of graphics hardware acceleration. This library is no longer available with the place-named OS X versions, only with the feline-named OS X versions.