May i explain in very simple words ?
You probably know what i'm going to say but.... just in case
By using raytracing you assume that you can calculate directly the intersection between a ray and a primitive (eg : triangle).
However, this is not always possible to calculate directly this intersection.
That's why there is raymarching.
you launch a "ray", at every step you use a Distance Estimator (some kind of black magic function) that estimate the distance between the actual position of the ray and the closest surface of all objects in the scene, and advance by this estimated distance multiplied by a factor < 1.0 and do it again 'til you consider you're close enough to the surface of the object. (at this stage you can calculate color, reflection, and so on).
One of the others advantage of raymarching (beside the fact that it "just" works) is that some stuffs like Ambiant Occlusion is almost free to compute.
Simple, huh ?
and a picture worth a thousahds words, so here it is :
And as said : Look for Inigo Quilez articles and good luck