I just had a look at Photodeck and they use this as one of their selling points...
Auto-scaling images - Your images can scale to fill the available screen space.
Which is true but seeing as that is exactly what they do the end result is simply awful. Images should not be scaled, they need to be rendered out to match the screen size image is being viewed on from a high quality master image. Looking at this example of theirs on my 26" screen and it looks like garbage.
Agreed, they look pretty bad on a large screen. But it's because the images are scaled up more than they should be. If they want clean full-screen photos they need to use larger files. Browsers do a pretty decent job scaling images, but you are still mostly limited to downsampling. There's no free lunch to increase the size beyond its native resolution.
Having said that, rendering images to specific screen sizes is easier said than done. Have you ever tried to implement this?
Here's the problem: the server doesn't know your screen size when the request is made. There is no window-size or resolution HTTP header or anything similar. In order to discover the window size of the user you must use javascript. This means that you can't even begin sending the image until the browser has received the page, processed the javascript and made another request to the server. At this point the server not only needs to send an image, it also needs to process the image and resize it.
This is a recipe for a slow, complicated site that is entirely dependent on javascript and demands a lot of resources from the server to not only serve pages, but also process images on the fly. I'm sure if you're resourceful you can find a way to use cookies and caches to speed things up, but this comes at the expense of complexity.
Add to this user behavior: what happens when you've rendered a page and then the user resizes their screen? Do you need to go back to the server to get a new image at the appropriate size? And when do you request the newly resized image? Javascript has an resize event that you can listen to, but it fires continually as the user resizes the window. To use this effectively you would need to determine when the user is *finished* resizing. The way you do this is normally with a timeout, but this makes the site feel laggy.
Custom-sized images on the fly sounds great, but the difficulty in implementing it is why you don't see it. Given time we may see an html solution that allows us to specify different images for different resolutions right in the code. See here:
http://picture.responsiveimages.org. If this ever makes into the browsers a lot of these problems will go away.