As with most of these sorts of questions, the answer is:
it depends
I'm going to leave gaming out of the discussion, for most "serious" gaming, and for that matter, any graphic intensive tasks like AR/VR, you're probably going to want to look at a PC (with the implied high perf GPU - full disclosure: I have a notebook with 64GB RAM and a GTX-1080 for xR work as I needed something powerful but portable, and even as a fan of Apple products, recognized they didn't have the product I needed).
@MacDawg has a pretty terrific response about using a [commercial] VM product. I'd just echo most of this comments, it's super convenient, easy to have several variants of the same OS for testing, can [easily] backup (local, cloud, it's just a file) and mostly decent enough performance.
However, I'd suggest it's also more than just a technical consideration , I'd say it depends on _how_ you want to work.
I personally I prefer MacOS as my primary computing platform - all my personal work like managing/editing photos, music, etc., and all my dev work that's not an MS stack (native mobile for iOS and Android, Python, GO, ML related work [some C++]), all my Docker instances I run from mOS, other VMs, I come from a *NIX background so I spend a significant amount of time in terminal
I might fire up several VMs over the course of any given day to cross check some code, run a service specific to some other OS, etc.
That being said, I sometimes I
really prefer the full "isolation" and more-or-less native Windows experience from my MBP, without any concerns about another layer (even if that's decently transparent). I'll fire up W10 in BC, running nice dual Dell displays, even using an MS mouse (+ dongle), DrB or G-Drive for some sharing across OSs, a couple of external drives in exFAT that's R/W across MacOS and Windows. Really the only thing I do is a couple of small keyboard tweaks to make things consistent.
One thing to keep in mind: the commercial VM products from VMWare and Parallels allow you to create a VM instance from a Bootcamp install. So when you want a quick instance of Windows for something lightweight, and you'd prefer to keep your host OS up and running, use the VM, but like me, if you sometimes want a more native experience, use the same install via a reboot and Alt-OS_select and you're good-to-go.