The difference between Web App Development and the classical native App Development, is the HTML component, which is used in Web Apps. Usually the content of each screen is HTML based, similar to a mobile website. Those pages are put into a native iOS or Android frame, so the Web Apps can be uploaded into the app stores. The "look and feel" of a web app is often identical to a native app.
Web App Development is usually less time consuming, which is reducing the development costs. Since the actual content of a web app is HTML based, it can be displayed on all smartphone platforms. Just the native frame around those pages needs to be changed. Therefore a Web App can easily be ported from one platform to another. With the evolution of HTML5 more and more functions can be realized with HTML nowadays, so in many cases it is not really necessary to a native programming language anymore.
When it comes to presenting content, such as text, pictures or videos a Web App has advantages. However there are still many functions which cannot be realized with HTML yet, for example a QR scanner.
Since the HTML content of a Web App is usually hosted on a server, just like a normal webpage, a Web App is only available when the user has internet access. When it comes to Web App Development we usually decide on a case by case basis, whether a web or a native App Development makes more sense.