This is something I have had to do a lot recently, after my Windows computer died, haha.
I first tried Crossover (after scoring a free copy back in the day). This works OK for some games, but there are often glitches and crashes.
Next I tried Parallels, which runs Windows (or another guest operating system) in a virtual machine. This increased compatibility, but can be somewhat slow. I wouldn't want to try and play a 3D first-person shooter this way (actually, it says 3D acceleration is supported, so maybe I will try it).
Another virtual machine I tried was VMWare Fusion. This (subjectively, to me) was a bit faster than Parallels, but came with other annoyances (does not tie in to OSX as well as Parallels does, can't hide the dock icon, taskbar popups in Windows show up behind the OSX dock unless the taskbar is moved to the top, hidden tray icons in Windows are displayed in OSX, etc).
Both Parallels and Fusion (and Crossover for that matter) cost money, although it is possible to score good deals on these (Parallels was only $10 after rebate when I bought it with my Mac, and VMWare gave me a discount for upgrading from Parallels, etc). However, there is also VirtualBox, which I've only tried on other operating systems. I don't know how well it integrates into OSX, but it is free to try.
Finally though, the *best* way to run Windows games is in Windows. You can run Windows on Mac hardware through Boot Camp. Note, however, that this is an either/or proposition. You can't switch between Windows and OSX applications; you have to restart and boot into the OS you want to use, exclusively. But for compatibility and speed, nothing beats native.
Note also that all of these (with the exception of Crossover) require a Windows license.