Isn't that technically not the case if you wanted to apply a specific patch without every other change that's been made to the same file.
The more changes, the more likely it is for a patch to fail, but in principle it seems like cherry-picking and applying a change is a valid use of a diff.
The original file plus the file with the changes you care about is a superset of the information included in a diff file.
Git already conceptually stores an entire tree of files for each commit and has no problem with rebasing, cherry-picking etc. And the patches it generates for you are derived on the fly from those snapshots - a commit doesn't have a fixed canonical patch text.