Normal JPEG images are represented as top-to-bottom scans of an image at full resolution. Incidentally, that is just how they render, from top-to-bottom, so the whole image needs to have been downloaded before it can be viewed in its entirety. JPEG images encoded in this way are called baseline JPEGs.
This rendering behaviour can be disruptive to the User Experience of a website for three reasons:
Progressive JPEG is a way of encoding the entire image using successive scans from a lowest quality scan to a full-detail scan of the image. What that means from a User Experience standpoint is that you do not need to wait for the entire image to download - first the low quality scan is rendered, and quickly replaced with scans containing greater detail until the entire image has arrived.
The obvious advantage to that rendering behaviour is that the area or placeholder for that image on a web page is quickly filled up with some sort of representation of that image, allowing the user to already get some sense of what is being visually represented.
To recap, the entire image is shown right away, albeit in a low-quality, pixellated form, which is successively or "progressively" replaced with scans containing incremental detail until the full-detail representation is displayed once the entire file has arrived.
Kraken.io encodes all JPEGs uploaded to the service using the progressive standard, as it tends to be viewed as the better way of encoding JPEG images, and we think so too!