I have the same problem with iOS 5.1 on a 3GS. Since a few days I cannot download any content anymore, be it updates, apps, music or ibooks. Every download stays in the "Waiting..." state forever.
The 'solution' you get across frequently (holding the wake/sleep and home button for a few seconds to restart the iPhone) does not work for me. I've tried that several times.
Also, it can't be my network connection, as I've tried via 3G and in different WiFi networks and with other devices using the same account.
All I can do is start the update/download from iTunes. But that's no solution, only a work-around.
Alright guys I found a solution. I got this help from a friend, and it worked :)
Step One: Back your phone up.
Step Two: You need to reset your settings, this can be done by going to Settings>General>Reset>Reset All Settings>Enter your passcode. This will not delete your media, this ONLY affects the settings.
Step Three: Wait for it to finish, and when it finishes you'll have to set your settings again, like you did when you first got your phone.
Step Four: You're done, you should be able to download apps again.
I hope this helps :)