Compiler errors can be lexical, syntactic, or semantic. Lexical errors occur during lexical analysis and include illegal characters or unmatched strings. Syntactic errors happen during syntax analysis and involve issues like missing operators or unbalanced parentheses. Semantic errors are found during semantic analysis and include incompatible types or undeclared variables. Various error recovery techniques exist like panic mode, statement mode, and error productions that allow parsing to continue past errors.