The "Enable actions for stops with errors" checkbox was introduced with Windows Vista and Windows Server 2008, providing a single, embarrassing line of documentation:
Select Enable actions for stops with errors in order to trigger the
recovery actions that the service stopped with an error.
The SC.exe program was also updated to provide a new command:
failureflag. The documentation shows a bad example and doesn't really apply to Windows Server 2003, but tells us that the command:
Specifies whether recovery actions will be triggered when a service
stops as the result of an error.
So, the checkbox and
sc failureflag are used to set the same flag.
sc failureflag in the command prompt, we finally get a quite decent description:
Changes the failure actions flag setting of a service. If this setting
is 0 (default), the Service Control Manager (SCM) enables configured
failure actions on the service only if the service process terminates
with the service in a state other than SERVICE_STOPPED. If this
setting is 1, the SCM enables configured failure actions on the
service if the service enters the SERVICE_STOPPED state with a Win32
exit code other than 0 in addition to the service process termination
as above. This setting is ignored if the service does not have any
failure actions configured.
A similar description can be found here.
So, the correct answer to the original question is: the configured recovery actions always take effect when your service doesn't terminate in the SERVICE_STOPPED state.
"Enable actions for stops with errors" must be checked if you need to enable the recovery actions also when your service enters the SERVICE_STOPPED state, provided that the exit code is not 0 (error).