KeyErrorLimit defines the maximum number of row-level errors that can be encountered in the source table for the dimension/cube where the error mode is set to ReportAndContinue. So, if you have both KeyDuplicate and KeyNotFound set to ReportAndContinue, you have KeyErrorLimit set to 2, and you have a duplicate key error in one row and a key not found error in another, processing would not fail (although the failed rows would be ignored). A third row-level error would cause processing to fail.
ReportAndStop implies that if any error of that type (KeyDuplicate, KeyNotFound, NullKeyConvertedToUnknown, or NullKeyNotAllowed) occurs, processing should halt and fail immediately. ReportAndStop ignores the KeyErrorLimit parameter.
IgnoreError implies that any rows with the associated error type be silently discarded and not included in the cube/dimension. Ignored errors do not contribute to the KeyErrorLimit count.
These error types are not the only errors that can occur during processing. However, they are the only errors for which SSAS will allow you to define a continue/stop/ignore behavior. All other errors (connectivity, etc.) would simply fail cube processing.