Compared to a "traditional OS":
- hypervisor is much smaller, and as a result reduces security risk
- hypervisor is younger and has less compatibility burden, so typically carries less technical debt, can improve faster.
- hypervisor exposes lower-level interface, so more work is left to the app developer (or the build toolchain, which is where unikernels come in).
- hypervisor has no support for legacy APIs such as posix or win32. As a result almost no applications target it, which makes it a hidden piece of plumbing and makes it harder to replace the traditional OS, even when it's redundant from a strictly technical point of view.