HTML5 was heralded as the magic that would allow developers to build websites that would work on any and every platform. While some of that promise has been realized, it’s not proven completely to be the hoped-for panacea. It does generally work well, though not without the need for tweaks to ensure proper functionality across many devices.
HTML5 can be used to make a cross-platform mobile website, or a mobile website that masquerades as an app. Its advantages are that it is cheaper to build; largely cross-platform compatible; easy to update; available through any browser, and therefore discoverable through search; and easier to test than apps.
The downside is HTML5 mobile websites are slower than apps and cannot leverage all of the device’s functionality, such as camera, GPS, etc.
Hybrid. Is it an app or isn’t it? Sometimes only the developer knows for sure. A hybrid app takes an HTML5 website and wraps it in a thin native wrapper. It attempts, with some success, to combine the best of both worlds: the easy updatability of an HTML5 site and some of the speed, offline capabilities, and native functionality of an app. It’s more affordable to build than a fully native app; is distributed through app stores; and requires similar testing to a native app.