By default WordPress generates images of all intermediate sizes registered by themes/plugins for every image uploaded, flooding your uploads folder with images you will never be using. In most cases you need the images of all dimensions only for the one set as featured image. This plugin prevents WordPress from generating thumbnails registered by themes and plugins, and generates them dynamically when required.
Another important use of this plugin, the main reason why its developed is…
Different themes use different thumbnail sizes. When you switch to a new theme, WordPress just gives the image whose size closely matches the size of the thumbnail being called without generating an image with the required dimensions. In most cases the best match is the full size image, which adds lot of weight to your page and also makes it look awful. There are plugins to rebuild thumbnails, but they do it for every image uploaded and again flooding your uploads folder. Also these plugins timeout on a shared server if you have lot of images.
*This only works with sizes registered by add_image_size() function.