What is the difference between MACOSX_DEPLOYMENT_TARGET and -mmacosx-version-min?

The man pages of gcc on Mac OS X say that they're synonymous:

-mmacosx-version-min=version
The earliest version of MacOS X that this executable will run on is
version.  Typical values of version include 10.1, 10.2, and 10.3.9.

This value can also be set with the MACOSX_DEPLOYMENT_TARGET environment
variable.  If both the command-line option is specified and the
environment variable is set, the command-line option will take precedence.

Keep in mind, that apple changed default compiler to clang. Currently clang tries to translate gcc flags to his own. But it doesn't cover 100%. So it might happen that --mmacosx-version-min will stop working one day.