I tried everything and could not update - either from my iMac or iPad2. I searched the forums and found a solution (which seemed bizarre, but it worked).
I changed my DNS settings to 126.96.36.199 (Google's Open DNS server). Behold, the update started and successfully completed. There was no logical reason why this worked (except a problem between Apple's server and my ISP). I changed the DNS settings back (they work for everything else).
Had exactly same problem on iPad1. "Unable to check for update. An error occurred while checking for a software update". Been getting this since 3/7/2012. Apple support said probably server overload. Checked these comments and found answer that worked.
-- Reset device
. Backup your iPhone/iPad to iCloud (very important). Settings>iCloud> Storage and Backup>Backup Now (at the bottom)
. Erase your device. Settings>General>Reset>Erase All Content And Settings
. Device will reset and wipe itself
. When it restarts follow the instructions on screen and setup your device.
You're choices here do not really matter except for restoring From a backup.
Do not restore a backup, chose "Set up as new".
. When complete, the Software Update should now work which will install IOS 5.1
. When installed, Erase the device again (see Above).
. Once erased, follow the Wizard but this time select that you wish to restore from a backup
In iCloud. Select the backup that you took in first step.
. Your device should be back to normal and with IOS 5.1.
This takes time to complete but it worked. Thanks to Glosdeveloper for this. By the way this was an "over the air" update (as opposed to plugged in.