1. The document discusses key concepts in software engineering including failure, error, fault, and defect.
2. A failure occurs when software fails to perform its required function, an error is a mistake by a programmer, a fault is a condition that causes software to fail, and a defect is a bug or flaw in software.
3. The differences are that a defect is a programming mistake, an error causes a defect, a fault is a condition from an error that causes failure when the software does not function as required.