The important differences between Hard, Firm and Soft Real Time Systems are as follow:
Hard Real Time System
A hard real time task is one that is constrained to produce its results within certain predefined time bounds. The system is considered to have failed whenever any of its hard real time tasks does not produce its required results before the specified time bound.
Firm Real Time System
Unlike a hard real time task, even when a firm real time task does not complete within its deadline, the system does not fail. The late results are merely discarded. In other words, the utility of the results computed by a real time task becomes zero after the deadline.
Soft Real Time System
Soft real time tasks also have time bounds associated with them. However, unlike hard and firm real time tasks, the timing constraints on soft real time tasks are not expressed as absolute values. Instead, the constraints are expressed in terms of the average response times required.