You use ErrorExit rather than OptionExit when you want to show an error message to the customer, and not allow them to continue the checkout process. In nopCommerce 2.50, they introduced a hidden setting: shippingsettings.returnvalidoptionsifthereareany; the default is 'true' which is to show successful options if any. The setting was added so that when using multiple external shipping plugins\carriers, and one of the carriers returns with successful shipping methods, that it would still present them to the customer, rather than showing the failed carrier's error message.
If you check all your error conditions up front, then the default setting is OK. If however, you check for errors in the middle of Option records, then you may want to change the setting to 'false' if using ErrorExit.
If you've set up your records as multiple OptionExit records expecting that the first matching one will be the only shipping method offerred to the customer, you might follow it with a final ErrorExit in case none of the conditions match:
OptionExit <some condition> ...
OptionExit <some condition> ...
ErrorExit true ... "Error Message"
In this case either setting is OK.