WebAssembly is a binary instruction format for a stack-based virtual machine. It lets you compile languages like C++, Rust, and Go to run in browsers at near-native speed. Historically, JavaScript was the only language that ran in browsers. It's a dynamically-typed, interpreted language. Fast browsers have made it faster, but it's not as fast as compiled languages. WebAssembly changes this.
You write performance-critical code in Rust or C++, compile to Wasm, run it in the browser. The performance difference is dramatic. High-performance web applications, games, video editing, physics simulations, data visualization, become feasible with Wasm. Wasm is deterministic. The same code produces the same results on different machines. Blockchains value this property.
Some blockchains use Wasm as their virtual machine. Smart contracts compiled to Wasm run more efficiently than bytecode interpreters. Wasm is secure because code runs in a sandbox. It can't access the filesystem or network unless explicitly exposed. This makes it safe to run untrusted code. WebAssembly is one of the most important developments in web technology.