that's not the web's fault... that's the fault of most developers doing the web wrong, refusing to separate content from presentation.
If mobile users only need service-type apps, the web can provide that. Programmers just have to write the screens.
The Web is a dumb terminal. You fill in a form, press XMIT or the equivalent, and get the next screen. Just because someone decided that the content needs to be jammed in a 900px table cell doesn't mean the web can't do mobile too.
The web is just another computing paradigm with its own strengths and weaknesses. It's not the be all and end all of mobile.