Dummies guide:
What is WebAssembly?
Javascript. Or thereabouts.
And can you really compile C/C++ to it?
Yes. Same as Javascript. It's just a "virtual machine" / "state engine" in effect. Have been able to do this for years, this is just slightly more standardised than asmjs etc.
And it'll run in browsers?
Yes. In the browser security DOM. So when you "open file", it has to be preloaded into the browser by a specific action, you can't access the hard drive or download stuff willy-nilly, or anything stupid. You can't talk out on arbitrary network ports (but you can set up a WebSockets server on your end if you wish to "talk" to the same server as the code was downloaded from over HTTP/HTTPS). Audio works (subject to browser control), video and GL works, keyboard input, etc. work. You can do everything that a normal website can do, and everything else is emulated. Libraries like SDL have supported it for years (so you can convert SDL games to the web relatively easily).
If you want to have a play, download Emscripten, and use it to compile some C code and see what happens. Everything from Hello World to full OpenGL games can work if you know what you're doing and cut out the stuff you're not allowed to do (e.g. convert networking code to use Websockets). You might even want to look at websockify, which can turn a normal program into a web-socked version (e.g. run Client in the browser, via WebAssembly, communicating with Server at your end running websockify... the two will talk as if they were connected via normal networking, but it will all go over secure Websockets).
Honestly, try it. It's fun if you're a coder to see 20-year-old SDL C99 code load up in a browser and run as fast as you remember it.