I thought there should be thread dedicated to this. Video games (and likewise, video game emulation) wouldn't be where they are today if not for arcade games. A lot of classic games people know from the 70s/80s/90s are really just ports of their original arcade counterparts (and were often inferior due to home console hardware limitations).
Thankfully, OS X has gotten some pretty good MAME support. There have been apps like MacMAME, MAME OS X, and SDLMAME (the latter of which being updated frequently). It is also possible to play Windows-based emulators like Final Burn using Wine or CrossOver.
Here are some links:
(A frontend for SDLMAME, check the downloads section.)
Here is a (hopefully) brain dead explanation for how to run SDLMAME in the shell, assuming you know absolutely jack about it (I'm referring to Terminal, just in case). If you don't want to run it from the shell, use the frontend linked above.
Download the SDL runtime library from here:
http://www.libsdl.org/download-1.2.php, then put the SDL.framework folder into /Library/Frameworks
Download and extract the binary. Rename if you want (I changed it to "SDLMAME") and place it wherever (I put mine in the Applications folder).
Put at least one rom in the roms folder.
Open the shell (Terminal) and change the directory to the folder you put it in. In my case that would be "cd /Applications/SDLMAME" (without the quotes)
Type "./mame -cc" to create the mame.ini file that serves as the emulator's configuration. You can open it with any text editor (like...errr....TextEdit :side:).
Change the paths if you want. Since I moved the main folder to /Applications, I changed all the paths as well. For example, the roms folder will be located at "/Applications/SDLMAME/roms"
Change the video mode from "soft" to "opengl"
If you want to play in windowed mode instead of full screen, change the "window" value from 0 to 1. I changed it because full screen apparently disables Spaces.
To load the emulator, just change the directory in the shell like earlier (if you didn't close Terminal it should be changed already) and type "./mame", you should see the roms list now, as well as the "Configure General Inputs" option. You can also load a game and press Tab to configure general and game-specific inputs.
You can also type ./mame gamename.zip to load a specific game directly without loading the rom list.
That should be all.