I'd heartily recommend reading this post by David Wood (of Symbian, so not exactly unbiased, but very even-handed on this topic). It looks at the very hot topic of whether mobile app development will avoid the headaches of fragmentation and operator lock-downs, and just migrate to the Web and cool AJAX-type tools instead.
My view is similar to David's - for many applications, Mobile Web will be the way to go, for ease of development, cross-platform support, rapid update and so on.
But for some the most important and demanding applications, there will still be a need for native development, even if it comes with a dose of pain.
The same is true on the PC - most things work fine in the browser. But for Skype or anti-virus or serious corporate applications, there's advantages to being able to write the most efficient, powerful, complex code to the native platform if you're capable of doing so.
I'm sure the balance between outright optimisation and convenience will shift over time, and across different application categories and networks. But there isn't "one answer", and developers and service providers will need to work out ways to blend the two paradigms.