Ambiance is a great little app that plays ambient sounds.
Ambient sounds include wildlife, environmental, human and mechanical sounds. Just a few examples are birds, frogs, wind, rain, river, jungle, city, subway, the sound of typing on a keyboard, machine and fan sounds.
I use Ambiance with ear-buds to tune out background noise when coding. The rain sound effects are great at blocking out other sounds without being too distracting.

In the unlikely event of not finding a sound you like in the huge collection provided, you also have the option of selecting up to three sounds to mix together. If you want to hear frogs typing on a keyboard while being cooled by an oscillating fan, Ambiance is the app for you.
Exactly how to mix sounds is not immediately obvious when you start the app. To play several sounds at once, make sure both "Combination Mode" and "Show Front Controls" are enabled in the "Advanced" tab of the options screen.
A timer is available in the options screen, which is handy if you use any of the sound effects to help you get to sleep.

The amount of sound effects makes Ambiance a bulky application, which can cause slow syncing with iTunes. An update to Ambiance made it possible to delete sounds from the application, so you can remove sounds you don't use and cut down on the size. A fresh install of the app will return all the original sounds.
Because the iPhone currently doesn't support running apps in the background, you can't have Ambiance playing while you read your email or do anything else on the iPhone. This isn't a flaw in the application, of course, just a restriction of the platform.
Ambiance is a great app to have if you work anywhere with distractions that you'd prefer to tune out. It works wonders for my concentration when coding.
You can get Ambiance for $0.99 in the Apple App Store.