Xdelta is a tool to compare different files; in addition it can create a delta file that contains just the differences between the files, and use a delta file to patch one file to turn it into another.
For example:
Barry creates Puppy 99 and releases it as puppy-99.iso which is 100MB in size.
Annie downloads puppy-99.iso and burns it and begins her Puppy happiness.
Barry fixes some minor bugs in Puppy 99 and releases puppy-99.01.iso, again 100MB in size.
Barry also releases an xdelta patch that can turn puppy-99.iso into puppy-99.01.iso; the patch is called puppy-99_99.01.delta and is only 3MB in size.
Annie downloads puppy-99_99.01.delta (3MB), puts it in the same folder as puppy-99.iso, runs xdelta and her result is a brand new puppy-99.01.iso file, alongside her original ISO file.
Annie got her new, updated Puppy by downloading just a 3MB xdelta patch, instead of another 100 MB iso.
and press enter. That's it; just wait 10~15 seconds and the new iso will be created in the folder. Your original ISO is still available and unaffected.
So for our fictional upgrade from Barry, Annie would type: