Downscaling happens in steps, not one jump
Shrinking an image by a large factor in a single pass makes the browser sample too few source pixels per output pixel, which produces aliasing and moiré on fine detail. Comprimage halves the image repeatedly until it is within range of the target, so edges and textures survive a big reduction.