Web App
Web App is the application made to run in a normal browser . It may even be SPA , but it will still be like a website, using HTML, CSS, JS, etc. . , with all normal limitations of the web. Does not access privileged operating system resources .
It usually runs well on various platforms , with a little care. There is controversy, but it is said to be the cheapest when you want to run on any device. Rotating on all browsers on all devices is not as simple as it may seem.
You have all difficulties running on an interface that you do not have full control over. Usability not the best possible for most cases, it is typical of the web.
It's interesting for someone who will be a very casual user . It does not need to install anything. But you need to know the URL (URL) where the application is and enter the browser . Do not expect a person to install an application to use one time or another. People install very few applications on their devices and will only do so if it is very useful or they are very much a fan of that.
Native App
Native App is the one that uses native device features directly and has access to everything in the best possible way. To a large extent we can say that it is like doing the desktop application that we are accustomed to. For example using Win32, or some library that accesses it more or less directly.
Usually runs well on just one platform . But there are libraries that help run the same code base with little adaptation on more than one platform while maintaining the native feature. Xamarin , for example. Here's just the opinion but technologies like Xamarin make the hybrid almost unnecessary.
Usually gives the best result in usability . It is also the fastest .
It's a real app.
Hybrid App
Hybrid App is a web application usually running in a specific , it can even be a custom browser for this and allows > access native features that are not normally available in the normal browser . It is a normal application.
Of course, nothing prevents a hybrid application from being run on a slightly different model, but that's just the way it is.
People use to try to make a unique application run on multiple platforms without so many restrictions . It does not always work out as well as you expect. It depends on the result sought and budget available.
It's a middle-of-the-road solution. The result is middle ground . Usability is good, but not great. Performance is not the best. Access device features, but not the best way, and not always everything is available, at least not immediately, consumes more feature than native, including battery. The work is not as big as making it native to every platform, but not as small as making one for everything.
Conclusion
There are two options for me. Web or native, depends on the intent, the audience.
If you are native, you have to choose whether to reach more than one platform. Remember that Android reaches the majority of the market, depending on the audience being reached, 70, 80, or even more than 90% of the market, and the share is growing. Outside it practically only iOS is actually used and has absolute growth not negligible.
Many applications will be used for a very specific audience, probably for employees of a company who use or can use a standardized device. You do not always need more than one platform.
Will it do for more than one platform? Then the choice is whether to make an application for each of them, and it has its advantage there, or use the same base for all of them (probably two or three at most).
In a rough way let's say that if the professionals involved dominate the technologies, doing the native application gives a 100% result, making it native with a compatibilization library gives 95, who knows 98%, but can be only 90% depends on the quality of it, make hybrid, gives 70, 80%, and web about 50%, of course depends on each case. Do not consider these numbers as a study, it's just my perception.
If done right, coding does not weigh as much on cost. Doing for three platforms will not cost three times more. Harnessing code for all three will not reduce the cost to one-third.