Kudos to all the iOS developers out there. I don't know how you guys manage to do it, but I'm sure glad you do and are willing to share your code with the rest of us.
If we had a similar iOS control, we could do it really simply too.
With the browser engine underneath, you get nice benefits in text layouting, image handling and some inputs, but it requires a lot of work to get good performance, to get touch interaction and scrolling feel natural, to make transition animations to work well. Offline access is also PITA if you have a lot of data - indexedDB crashes left and right if not used carefully. The last 20% of the app takes 800% of the time :) and the result is still not what you wanted.
I haven't encountered many good mobile web apps. HN app by @premii is pretty good (http://hn.premii.com/), and the developer once described here in HN that he didn't use any JS library like jQuery for performance reasons, everything had to be coded manually.