Wow, I just discovered that it is possible to deposit a check without going to the bank. Not all banks offer this. I do my local banking with Chase, and had already downloaded the iPhone app, but I'd never noticed that at the bottom of the screen, there's an icon for "Deposit."
The first time you click it, you'll be asked to sign up for online depositing, which is free. The sign up took no time at all, just a few clicks. When you're ready to actually deposit a check, you have to select which account (i.e. savings or checking) you want the deposit to go to, and enter the amount. Then you have to photograph the front and back of the check. They say it's best to do it in good light, against a dark background.
I had had the check folded in my wallet, so I had to flatten it out. The camera frames the check and reminds you to hold still. You take a photo of the front and then the back-- you can zoom in to make sure your photo isn't blurry before you finalize the deposit. Some kind of processing then takes place, and you get a confirmation back, which includes the routing and account numbers from the check. If the camera hasn't read the info properly, you'd get some kind of rejection at this point, but they do caution you to hang onto the check until the deposit has cleared, just in case.
I just did this 5 minutes ago, and immediately got an email from Chase confirming the deposit (though it still notes that it's "pending" and not "cleared.") We'll see if it all goes through properly in a day or two, I guess, but it looks like it will save me a trip to the bank. I have to say, I'm kind of amazed that this is possible!