A lot of ShaderToy demos share the Ray Marching algorithm to render the scene, but they are often written with a very compact style and i can't find any straightforward examples or explanation.
So what is Ray Marching? Some comments suggests that it is a variation of Sphere Tracing. What are the computational advantages of a such approach?
Ray marching is a method for rendering scenes by casting rays from the camera through the scene and determining the intersection point of each ray with objects in the scene, in a continuous manner. This is different from traditional ray tracing methods where each object has a list of intersections with the ray, and the intersection with the closest object is chosen to determine the final color of a pixel.

Instead of pre-calculating intersections for each object, ray marching calculates
Why is it used so much in WebGL? Are there any resources for better (or simpler) understanding?

Ray marching is indeed a variation of sphere tracing, which is a technique for rendering scenes which uses ray intersection tests and some smart culling to improve performance. In its simplest form, ray marching is doing sphere tracing in world space, instead of object space.

You can think of ray tracing as shooting a ray from the camera into the scene, and following