Raymarching is a technique a bit like traditional raytracing where the surface
function is not easy to solve (or impossible without numeric iterative methods). In raytracing you just look up the ray intersection, whereas in ray marching you march forward (or back and forth) until you find the intersection, have enough samples or whatever it is your trying to solve. Try to think of it like a newton-raphson method for surface finding, or summing for integrating a varying function.
This can be useful if you:
Need to render volumetrics that arenot uniformRendering implicit functions,
fractalsRendering other kinds of parametric surfaces where intersection is not known ahead of time, like paralax mappingEtc
Image 1: Traditional ray marching for surface finding