My quick understanding is that in many cases it means: show me everything that's NOT in upstream.
In other words:
git cherry less-stuff more-stuff
git cherry present future
git cherry past present
So to see what's in develop but not yet in master, type this:
git cherry master develop
Which means, essentially, show me everything in develop that's not (yet) in master.