A joystick is best with games with aeroplanes, jets and such. A gamepad is good with all the other kind of games (racing, third person shooters, stealth, action-adventure etc.) except maybe FPS (if you are not used to it) and definitely not RTS...
My vote goes to xbox 360 controller wireless. Almost no lag, sturdy build, no.1 compatibility with games, supports xinput (google it if you dont know what it is), analogue thumbsticks as well as analog triggers (excellent for driving cars, next best to dedicated steering-brakes-accelerator sub-system). Been using it for 6 years now (one went kaput after 4 years, I am on the second one right now). Supports *most* games out of the box. No drivers needed. Can be converted to directInput using xbcd drivers and/or xpadder/pinnacle (you probably wont need it though, just putting it out there).