UPDATE: "Do Not Disturb" is available in iOS 6. Still waiting for an energy saving mode.
A while back, a highly-publicized faux pas brought some attention to the need to silence a smartphone without turning it off. Many of us carry these little noise-makers in our pockets... ready to embarrass us in any number of public situations. My iPhone is usually always switched to vibrate mode. This prevents most audible notfications. It will not, as Patron X painfully discovered, mute a scheduled alarm. So, perhaps there is a need here for some additional modes for iPhone and for mobile phones in general.
I wouldn't go so far as to say the silent switch on the side is doing the wrong thing. The existing behavior is well thought out. There are certain things that most people would want the phone to notify for, and an alarm (typically used for waking up) is one of those. I'd hate to have to remember to flip off the silent switch every night. And worse, if I did, any number of notifications arriving through the night (new email, GameCenter notices, etc., etc.) would keep me up all night long. But the silent switch silences everything, except for my wake-up alarm.
iOS (the operating system powering iPhone, iPod touch and iPad devices) has this general setting called "Airplane Mode". When you enable this, it disables all of the wireless communications on the device. You can disable these individually through other settings, but this is a quick, convenient way to turn them all off at once. It also displays a helpful airplane status icon, replacing the wireless carrier icon and signal strength shown in the status bar.
I think a similar, convenient mode could be added to address this mute-my-phone problem. Perhaps, called "Do Not Disturb Mode". When enabled, it would prevent any form of audible sound from the device, including alarms. It would also prevent vibrations and incoming notices, preventing their pop-over display (they'd still be visible in the notification center you can drag down from the top of the screen). This mode would be perfect to use when reading a book. It'd also be useful when giving a presentation that's driven by your iPhone or iPad. You could also think of it as a "focus" mode where you can open up an app and get something done, without distraction from the device itself. Come to think of it, I could use such a mode on my Mac.
Another mode that I think would be helpful is an "Energy Saver Mode". I imagine this mode would ease the minds of many that want to close each app when they've returned to the home screen. Basically, it would prevent fast-app switching, by closing an application when you leave it (with one exception made for any active music-playing app). This would save power since apps wouldn't be allowed to continue running for up to 10 minutes after leaving them. Sure, app start-up time would be longer with this on, but I could see it being useful in situations where you are trying to make your battery go as long as possible. Perhaps when you want to read a book for a few hours and don't care if you aren't receiving email or push notifications or other things that chew at your battery all day.
Each of these modes (Airplane, Do Not Disturb, Energy Saver) could be combined in any way the user wants. Enabling Airplane and Energy Saver modes would be great for those long flights. Energy Saver and Do Not Disturb modes could be used together for playing that CPU-intensive game for a few hours straight without seeing popups for each incoming email.
But normal operation of an iOS device should never rely on these modes. Apple shouldn't be testing battery performance with Energy Saver mode enabled, nor should memory-hungry apps require any to be enabled for their app to run properly. An iOS device should never be that "fiddly". But such modes would be welcome for those that know to use them.
Of course, these modes could only be added by Apple — no mere app store app could influence the behavior of iOS system policies. So we're at the mercy of Apple to fix this one. While they're at it, it would be great to have more convenient access to these toggles. I'd love to see them exposed as a panel in the pull-down drawer used for notifications and other widgets (weather, stocks, etc.).