This is what I'll specifically be making in this instructable:
Pros: Easy to do with a low barrier to entry, cheap and there's no risk of damaging your controller.
Con: Because a computer is being used as an intermediary between the controller and the Arduino, as it's interpreting button presses as keystrokes which are fed into Processing, the computer is required; with this method you can't have a standalone Arduino and controller. If that's what you want then you'd likely need to alter the controller to plug directly into the Arduino.
Last note: I'll be specifically talking about the wired Xbox 360 controller and some of the weird little issues that can come up with it, but I don't see why this couldn't apply to any USB controller.
I made this project over at TechShop (http://techshop.ws/).
Step 1: Software/hardware
Computer and keyboard (USB keyboard and built-in laptop keyboard tested to work)
Xpadder 5.3 (see next step)