Abort would terminate the entire process, whereas Fail would return an error code to it. Older (pre-2.x?) versions of DOS did not support the concept of I/O error codes at all, so the Fail option wasn't present: instead, you had the charming 'Ignore', which would pretend the operation had succeeded, returning the I/O buffer with (partially) corrupted information.
I remember the old DOS days when reading a floppy disk failed:
I never could remember the difference between Abort and Fail.