While a bluetooth Android game controller is going to give you the most bang for the buck, using a good old USB controller can provide benefits that don't exist with a bluetooth controller. For example, while bluetooth controllers offer the ability to play without wires at a distance, there is latency to be concerned about. For many games, this isn't necessarily an issue, but for some games, such as arcade fighters, you want to have as little latency as possible when you perform your attacks. In such cases, a USB controller might be better. Additionally, a USB game controller tends to be less expensive.
One additional downside to using a USB android controller is support. It is likely that more games will work with bluetooth controllers. Also, bluetooth Android controller manufacturers might provide apps that attempt to increase the volume of games that will play well with their Android controller. Emulators, on the other hand, will likely support both USB and bluetooth game controllers on your Android device.
The trick part is how to you attach a USB controller to our Android device? Fortunately it's super easy.
First, verify that you have a micro USB connector on your device. Here is a picture of a cheap Android tablet, the N70S from Vido. It's a great tablet, especially considering it can be picked up for $80 from places like DealExtreme.com. But it lacks bluetooth. Fortunatley it has a micro usb connector:
If your gamepad has a standard size USB connector and your Android device has a Micro-USB connector (most likely) then you will need an adapter to connect your controller to your Android device. USB to Micro-USB converter cables or comnnectors are available online or at your local computer shop. They are inexpensive as well. Just make sure that it is a female USB to male Micro-USB connector.
There are a lot of USB gamepads out there. Here I am using a Logitech controller. It's a few years old. It has a D pad, 4 front buttons, 4 triggers and a start and select button. The latter two buttons are particularly useful with emulators. Game consoles of yesteryear all had the Start and Select buttons.
you might want to load up your favorite emulator and check which controllers are supported. Chances are that even if not listed, it will be supported, but you should probably double check. In an emulator such as RetroArch, you can go into the input menu and scroll through the supported game controllers. There are lots. Even PS3 or XBox game controllers may work with various emulators.
Simple step. Connect the USB to Micro-USB connecor, cable, adapter converter or whatever you want to call it.
Then simply plug in the Micro-USB connector into the Android device.
And that's that, really. In the following pic, the Retroarch emulator is auto detecting the Logitech controller after pressing a button on the controller and starting a game. Neat!