In short, it allows one to run applications in the browser without needing to go through JS. So apps are faster (ideally on par with native applications), and more secure because it’s built with sandboxed environments from the ground up.
In practice, it’s an alternative bytecode format, similar to JVM bytecode or C binaries. What makes WASM so useful is that browsers ship with the WASM runtime, but you can also have WASM runtimes that don’t depend on browsers (for running server applications, for example). You don’t need to compile to specific OSs or have folks install a large runtime environment to use it, so WASM binaries are more portable. It’s also an open format that any programming language can compile to. Rust, and C# with Blazor, have been the biggest languages using it so far, but Kotlin is trying to position itself as another major option in the WASM area.
This article goes a bit more detail of why people are excited about it.
https://thenewstack.io/webassembly/what-is-webassembly/