It is mainly for deep-linking from urls in other apps/sites. Primarily so apps can reenter previous states rather than opening on the app, in some cases to push data to the app.
Example: Game app has buttons on a website to play specific levels with some special powerup, so you can link to it just like a website but in the app play the level and bypass the main screen etc.
It is a bit like DNS hosts within the devices but the only problem is it is not standard and there is no listing so it is more like old school file type or port claiming, there may be clashes/name collisions.
It's one of the few ways apps can interact with each other under iOS— by telling the system that they can handle particular URL schemes, and having other applications ask the system to open URLs with that scheme. It's kind of ridiculous, but it's the de-facto-standard convention for inter-application communication on iOS.
One common reason is that it is a requirement to do the fast app switching Facebook auth, which is why you see many URL schemes in that list in the form of fb[facebook app id][optional suffix]://
This is so that after auth the Facebook app has a URL to fast app switch back to and handle the authentication result.
It's not a requirement. Apps can use these to send someone to another app, along with optional information. For example, it's how you used to login via Facebook (before it was built into iOS).