Reiter's original definition of default logic allows for the application of a
default that contradicts a previously applied one. We call failure this
condition. The possibility of generating failures has been in the past
considered as a semantical problem, and variants have been proposed to solve
it. We show that it is instead a computational feature that is needed to encode
some domains into default logic