If you ever tried implementing ItemCheckingOut event handler wanting to prevent end users from checking out documents if certain business rules doesn't meet, you typically would implement the "ErrorMessage" & "Cancel" properties of SPItemEventProperties.