The changes made to the files are usually much smaller than the files being changed.
This means storing a diff can save you a lot of space. When diff
was created, disk space was expensive.
But it also means you can reapply a diff to the original file, even if that file has changed in other ways. The patch utility will do that for you and tell you when there are problems.
This is in fact the most important reason to work with diffs in software development. When a change has been made (usually to more than one file), it can be saved as a diff: the result is called a change set or patch. If all is well, the patch is not just some arbitrary change, but implements some kind of functional change - e.g. a bug fix or a new feature.
Meanwhile, a different change can be made, possibly by a different developer, even in a different location. If the changes weren't made to the same parts of the same files, they can then be applied independently. So the developers can send each other their patches for testing. A whole set of patches can build up that represents possible changes; some of these may ultimately be rejected, the rest will be integrated into the system.
So working with diffs allows concurrent development. You no longer have to work on one change at a time.
Modern distributed version control systems are a continuation of this way of working.