There's been quite a few attempts at creating a physical game controller for the iPhone. The most successful of which has probably been the ThinkGeek iCade.
Despite a few other promising starts, it seems the main hurdle has been Apple allowing unfettered access between said game controllers and the iOS devices themselves. As a result, most game controllers have relied on emulating a Bluetooth keyboard to interface with the iPhone or iPad. While it works well enough for digital controls such as the iCade, full analog stick control has remained elusive.
A company called 60beat is now offering their solution which does offer dual analog sticks as well as a number of other standard directional controls and buttons. The 60beat GamePad connects through the headphone jack of your iPhone, iPad, or iPod touch to accomplish this task:
Games have to be programmed to support the new device, of course. At present only 2 games support the 60beat GamePad, but a "full collection" of supported games are said to be added in February 2012. The GamePad is priced at $49.99 with supported games sold separately.