This plugin allows you to replace an attachment file by uploading another image or by downloading one from a specified URL, without deleting the attachment. The plugin handles the image sizes generation and the attachment metadata update, and you will see the result right away.
See the plugin demo:
The plugin becomes very useful when you do not want to delete images and then upload new ones to your posts, because deleting and uploading new images (hence, creating new media entries) will make it more difficult to track and replace all occurrences of the images in all the content (if the images are embedded in the post/pages content).
Instead, you could use this plugin to just replace the media file with a new one, and the necessary images will be created, without altering the media references.