Browser-based web apps require access to the internet to download web pages but can cache data on the device for off-line use. This means they are always up-to-date since the web files are always downloaded from the server. However users can be using different or older versions of browsers to access your web app. Since they do not reside in an app store it can be harder for users to find them. However they can be found by search engines and can be shared and bookmarked.
Native apps are coded specifically for the operating system of the mobile device in their coding languages for example Java (Android), Objective-C (iOS), and Visual C++ (Windows Mobile). They can be run even when there is no internet access. Native apps are faster and can implement the more complex functionality of the mobile device than web apps.
They use standardized software development kits (SDKs), development tools and interface elements like buttons, text input fields, that are provided by the mobile manufacturer.
They are installed, usually from an app store. This requires that
they go through the acceptance process of the app store. This
means you can charge money for them but the app store will also
charge a fee. However users don't necessarily always upgrade to
the latest versions so multiple versions of the app are in use,