LR parsing is an efficient bottom-up parsing technique that can parse large classes of context-free grammars. It works by scanning the input from left to right, constructing the rightmost derivation in reverse using k lookahead symbols. The key steps are: 1. Constructing LR(0) items and closure sets 2. Building the LR parsing table from the LR(0) items 3. Using the table to parse input strings based on lookahead symbols The main differences between LR parsing techniques are the way lookahead is handled, with CLR using exact lookahead, SLR using limited lookahead, and LALR approximating lookahead.