The images load in several passes, with different portions of the images filled in on each pass. They can be created in popular image-editing programs. I've used a progressive GIF to load the image on my home page. It's best to let visitors pick and choose what they want, thereby speeding up initial download time for everyone. That one's debatable.
Some publishers use HTML tables to reduce the waiting time for large images.
Large graphics are diced into several smaller pieces that can be downloaded simultaneously. The trick might not always pay off, though. Graphics broken up into several pieces require several requests from the server, which may result in no net gain in loading time. Which is to say, it must parse a sufficient amount of code to block out the necessary window area. Horizontal tables also address the need to get content to the visitor quickly, letting the browser fill out the top of the screen immediately, even if other parts of the page show up a little more slowly.