Which runs faster?
Now, it is also possible to write web apps poorly, so it is hard to say which will be slower ... an incompetent Web developer or a competent Native developer. But it is equally fair to say that, whichever side you are on, if you are incompetent, the competent developer on the other side will write faster code.
Basic GPS and camera resources
Yes, with user permission
On a native app, there is no need to bother or notify the user before accessing these resources. Browser Apps on the other hand, can access these only if the user permits them to.
This means, if you are DEVELOPER, you think Native is better, but if you are a user - you might legitimately say that that means all Native apps are a much higher security risk unless you can and do lock it down in the OS.
Detailed resources for GPS and Camera?
While Web apps can access SOME GPS and Camera features, they can't access all of them. It is amazing how much you can do with the Web version, but if a Native app choses to take advantage of these, then the Native app will have more power and flexibility. For example, a Native app can track a user's location much more easily than a web app can. So if you want to be able to have software track your location all the time, the Native App is the way to go.
There is no difference here. Well, at least in theory. To be fair, most web developers don't know how to run offline properly - but that is because of the skill set of the developers, not the platform. MCe has been running offline for more than a decade with no issues other than the exact same issues a native app would have. Developers in both need to be aware they CAN do this, and then they have to think about the data they are grabbing, this second is where most developers who know technically how to do it end up failing miserably.
A native app can much more easily track your location without your permission than a web app, but native apps, because of the app stores, have a higher probability of being properly vetted by a 3rd party.
Which are easier to develop?
Neither. Both have their benefits and disadvantages. In practical terms - the one you know how to program is the 'easier' one to develop in.
Cross platform UI
Again, it depends on how the developers go about it. You can do cross platform (Windows, iOS, Mac, Linux, Android) in either, and depending on some of your choices it will either be easy or hard, powerful or wimpy.
Install and Upgrades
This one gives Web apps a clear win. Upgrades can be a nightmare with native apps on platforms like iOS and Android, but are relatively easy on Windows, Mac and Linux. Upgrades of iOS and Android are where the nightmares start for developers who don't think ahead. You have to plan for old software (possibly years old) running against a new server, and newer software running against old server (while you are waiting, for example, for Google or Apple to approve your upgrade.) Many developers really mess this up. They get their 1st release out nicely, but then have horrible problems when they upgrade the server version, or Apple updates before Google or the other way around. It is also much easier to get a web app to 'self upgrade'.
Cost of development
I seen many say that the cost of a good Native app is more expensive than a Web app, but if you developing a really GOOD web app - you may find it is so close in cost to a Native app that the cost of development is the same. But remember upgrades … if you have a data intense app, doing native right can be a lot harder and more expensive than web. But in practical terms - it isn't that it costs more, it is that the upgrades are smoother and more reliable on the Web typically. Obviously if you need a feature that you can only get on Native - then Native is by definition cheaper - because Web is impossible/infinite (well near infinite, you COULD write your own browser.)
So which is better?
Ignore all the hype and boil it down to this: If you need the very small number of things that a Native app can do that a Web app cannot … you need a Native app. But if you aren't using those very small number of features - most of the time you will be better off developing a web app - and your customers will be better off too.