Yeah, but just a few years ago when building a site you never needed an image wider than 1600px, and now you have lots of people with retina and 4K screens. Add just one full-width HQ image and it's 500+KB on top of everything else....
Except for IE, modern browsers support srcset, which allows you to define different image sizes for different screen sizes, and only the "right" size image will be downloaded.
If you need to support IE, you can use media queries with CSS background images. Typically, it's only background images that are bandwidth hogs anyway -- logos and such tend to be much smaller.
Media queries are supported by all modern browsers, including IE9+, and with a JS polyfill (respond.js), you can even support IE 6-8. So there's really no excuse for anyone who's supporting retina not to use media queries to minimize bandwidth for everyone else. It's only a few extra lines of CSS, and you can target any imaginable screen size (e.g., see this gist: https://gist.github.com/antonioreyna/5809553)
Based on Caniuse[0] data, it looks like that «srcset» is not supported on pre Lollipop stock browser on Android devices. So, it is still not a feasible solution.
Progressive JPEGs have been touted as a solution to this, but still they are rarely used. The idea is the browser will download only as much data as it needs, and display the image as the data is received (so it renders a low quality version faster).
There is a small overhead in the full file, but if it means a mobile user is saving 200kb+ it's worth it. All modern browsers support it (even Safari on iOS which didn't a few years ago) [0], so I don't really know it isn't used more widespread.
Well my mobile phone with fullHD really doesn't have to show a friggin 4K 1MB image when I'm looking for an address in a foreign country with a 200MB roaming data cap! -_-