Or vice-versa, you deleted a file, that changed upstream, and now you have to see a diff between the base, and the changed file. The problem is that the usual tools, like git diff, git show, don't return any useful results, and checkout does not have a --base switch (like it has for --theirs and --ours).
Or, what is present in branch A, but missing from branch B? I always, always, ALWAYS have to look this up. I have a devel, and a master branch, there were a few hotfixes on the master branch, and there are a few new features developed in devel. Now I want to make sure that the hotfixes are merged back to devel, and I also want to check what new features will be deployed, if I merge devel into master.