Each project must weigh up the relative merits of native and web apps for itself, but the inescapable fact is that when deploying on the web, from the user’s perspective, you’re probably starting with a disadvantage. There’s cognitive load associated with your app being a bookmark instead of an experience, and there’s an implicit trivialisation which occurs in the user’s mind.
A great post by Matt Gemmell on the differences between native and the web, particularly in regards to frames of interaction.
Still, I find part of his conclusion lacking. It feels based on a native app that would be well thought-out and created with care, versus a web app that would just be made a dime a dozen.
Personally, I’m still a fan of the hybrid approach; creating a lightweight, native wrapper application that connects the web-based core to the mobile device.