If this option is checked, Jenkins makes it possible to set an environment for the build job (or for each run on a matrix project) by defining environment variables and execute a script (a setup script).
All these actions will be executed before a SCM checkout.
By default, after the set up, only injected variables (with Jenkins variables) will be available in the build scripts, in the Jenkins post-actions, and so on.
Default inherited environment variables (inherited variables by the Jenkins process which often contains machine-specific information, like PATH, TIMEZONE, etc.) can be unset if you enable the 'envInject' property and check 'Unset system variables' in the node configuration page.