This solution is more foolproof than Wine. As you're running those Windows applications on an actual copy of Windows, you won't encounter bugs.
Using a virtual machine does require a full copy of Windows, however, and there is more hardware overhead because that copy of Windows has to be running alongside your primary operating system. In particular, demanding PC games that need access to your computer's graphics card won't perform well at all--you're better off with Wine for those. But for productivity applications like Microsoft Office or Adobe Photoshop, this is an excellent solution.
Dual-booting isn't technically a way to run Windows software on Linux itself, but it is how many Linux users run Windows software. Rather than using it directly under Linux, you just reboot your computer, choose Windows, and boot into Microsoft's operating system. The Windows software can then run in its native environment. Thanks to modern solid-state drives, that reboot process should be faster than ever.
This is particularly ideal if you're a PC gamer who just can't give Windows up yet. Rather than forgoing all those Windows games, you can just reboot your computer when you want to play Windows-only games. As you're using plain-old Windows running directly on the hardware, you won't have to deal with any compatibility or performance headaches.
The best way to set up a dual-boot system is to install Windows first--if your computer came with Windows installed, that's good enough. Next, install the Linux distribution of your choice and tell it to install alongside Windows. You'll then be able to choose your preferred operating system each time you boot your computer. This Ubuntu guide to installing Linux beside Windows can help walk you through the process.
The best option really depends on what you're trying to do. If you need to run a single application or game that works well in Wine, Wine may be ideal. If you need to run a variety of desktop applications--like the most modern versions of Office and Photoshop, which Wine might struggle with--a virtual machine will be best. If you're a PC gamer who still wants to play the latest Windows games, dual-booting will give you the performance you want without the headaches of Wine.
Sign up for CIO Asia eNewsletters.