ZZ Method
From Speedsolving.com Wiki

The ZZ method is a 3x3 speedsolving method created by Zbigniew Zborowski in 2006. The method is focused both on low move count and high turning speed; during the majority of F2L, the solver only needs to make L, U, and R moves, which means that the solver's hands never leave the left and right sides of the cube, resulting in faster solving. In addition, edges are already oriented when the solver reaches the last layer, meaning the solver has fewer cases to deal with.
Contents
The Steps
 EOLine: This is the most distinctive part of the ZZ method. In this step, the solver orients all the edges while placing the DF and DB edges. The two edges and the bottom centre are the "line" in EOLine. This step puts the cube into an <L, U, R> group, meaning F, B, or D moves are not required for the remainder of the solve. Although this step may seem like a hinderance, it speeds up the F2L and LL.
 ZZ F2L: The solver creates a 2x3x1 block on each side of the line via blockbuilding. Because one only needs to do L, U, and R moves, solving is very quick.
 LL: The solver uses algorithms to solve the remaining pieces. Since the edges in the LL were oriented during EOLine, it can be completed in fewer moves and/or with fewer algorithms to learn.
Variants
There are several variations of the ZZ method, each of which treats the F2L and LL differently:
Solving F2L and LL separately
 OCLL/PLL The LL is completed by first orienting the corners (OCLL), and then permuting corners and edges (PLL). This is the second least algorithm intensive 2look method for solving the last layer, following ZZreduction.
 OCELL/CPLL This is similar to using COLL/EPLL, but more of the algorithms can be 2gen. First the LL corners are oriented and LL edges are permuted in one step, then the cube is completed with CPLL in the final step.
 ZZa: ZBLL is used to complete the last layer in a single step, also known as 1LLL (onelook last layer). There are 494 cases, solvable by 177 algorithms, in an average of ~12.08 moves.
 COLL/EPLL
 NMLL completes the last layer when matching or nonmatching blocks are used. The first step separates the colors belonging to the left and right layer. The second finishes permutation.
Influencing LL during F2L
 ZZb: During F2L, the solver employs a technique called Phasing to correctly permute two opposite LL edges. Before the last corneredge pair is placed, the solver uses one of several algorithms depending on how the edges are positioned. The last layer is then completed with one look using ZZLL.
 ZZWV: Before the last corneredge pair is placed, the solver correctly orients all the corners by using 1 of 27 algorithms. After the first two layers, the solver is left with a PLL case, since both edges and corners are oriented.
 ZZc: The last layer corners are oriented during insertion of the last F2L block. This system is similar to using Winter Variation, but can be applied to any last block situation and uses many more algorithms. Conceptually, the comparison of ZZc with ZZWV is similar to the comparison of ZBLS with VH.
 ZZblah The last layer corners are disoriented during insertion of the last slot allowing the last layer to be solved using the Pi and H subsets of ZBLL.
 MGLSZ During the F2L last slot, only the edge is placed. LL corner orientation and the final F2L corner are then solved in one step using CLS. Finally the solve is completed with PLL.
 EJLS Similar to MGLSZ, but using less algorithms. During the F2L last slot the edge and corner are connected and placed, but the corner is not necessarily oriented. A subset of CLS is then used to orient the last slot corner along with the LL corners. PLL to finish.
 ZZd: Just before the completion of the lefthand F2L block, the solver permutes the remaining corners to put the cube into an <R, U> group. This makes the rest of the solve 2gen, which is even faster than 3gen. Only a maximum of 2 additional moves are required to correctly permute the corners. The process is called, CPLS. However, the solver must determine the permutation of all the unsolved corners to execute this step; this is a slow process, which makes ZZd inappropriate for speed solving. 2GLL to finish.
 ZZOrbit: A variation of ZZd, the solver will permute all the corners during insertion of last F2L's pair. Recognition is not so straight forward, but much faster than that of ZZd. Once performed, a 2gen subset of ZZLL, consisting of 71 algs, can be used for 1look last layer. This has many similarities to CPLS/2GLL, but was developed independently. Thread:[1] Guide:[2]
 ZZe: Similar to ZZd and ZZOrbit. After solving left block, the solver swaps remaining corners to put the cube into an <R, U> group. The process is called, 'SemiPermunitation'. This makes the rest of the solve 2gen, which is even faster than 3gen. However, the solver must determine the permutation of all the unsolved corners to execute this step; this is a slow process, which makes ZZe inappropriate for speed solving, even more than ZZd. 2GLL to finish. Post:[3]
 ZZreduction During F2L, the solver employs a technique called Phasing to correctly permute two opposite LL edges. Then a 2look orientation/permutation approach is used, with the phased edges preserved in the orientation step, resulting in a reduction of PLL cases down to 9 compared to 21 in full PLL. This is the least algorithm intensive 2look method for solving the last layer of any 2LLL method, needing 7 + 9 = 16 total algorithms.
 ZZz: Similar to ZZd, ZZe, and ZZorbit, this variant relies on permuting the corners so that the solve can be done 2gen after the 3rd step. This variant also has fewer algorithms than any other variant. First, the solver creates an EOLine, left block, CP, 1x2x2 block on BDR, LPELL, 2GLL.
 ZZN: This variant solves EO and all but one F2L slot, then inserts the last edge and orients corners in one algorithm, then solves the rest (PLL and one corner), again in one algorithm.
Pros
 Reduced Move Set: F2L is completed using only R, U and L turns and no cube rotations are required.
 Lookahead: Preorientation of edges halves the F2L cases and makes edges easier to find and connect to blocks/corners. During a ZZ solve, the cube is typically held in the same orientation through out the solve which allows a memory map of pieces' correct locations to develop allowing fast/intuitive ability to place pieces without thinking/looking.
 Efficiency: With a blockbuildingbased F2L and preorientation of LL edges around 55 moves can be achieved without difficulty. Optimising F2L blokbuilding and adoption of more advanced LL systems such as ZBLL will reduce this move count significantly.
 Ease of Learning: Most of the difficulty in ZZ is confined to the EOLine stage. Intuitive blockbuilding during F2L is fairly easy to pick up and only 20 algorithms (assuming use of mirrors) are required to achieve a 2look last layer with OCLL/PLL.
 Flexibility: With edges preoriented many systems exist for completing the last layer in a ZZ solve, ranging from OCLL/PLL to ZBLL. A blockbuilding F2L also allows for the development of many short cuts and tricks as skill improves.
Cons
 Reliance on Inspection  ZZ makes heavy use of inspection time, which is fine when 15 seconds is given, but in situations where no inspection is used it can be a drawback. For example, when using reduction on big cubes or within multisolve scenarios starting a ZZ solve can be difficult. This isn't much more than other methods though.
 Difficulty of EOLine  EOLine is weird to get used to at first. In order to plan and execute in one step and takes a long time to master. New users should expect it to take in the order of months to achieve full EOLine inspection in 15 seconds. In the interim, breaking it down into two steps (EO + Line) can be used as a fallback.
 2 Extra F2L Cubies to Solve  The first step of Fridrich (Cross) and ZZ (EOLine) are roughly comparable in terms of movecount. The remainder of F2L in ZZ requires solving of two more cubies (10 in total) than Fridrich slots (8 in total). However, freedom to fully rotate the L and R faces and the use of more efficient block building compensates for this apparent disadvantage.
 Switching between L and R moves  On the other hand, this can feel weird. It takes some time getting used to and mastering. After one does master this though, f2l is really smooth.
Notable users
See also
External links
 ZZ Method Tutorial
 EOLine Solver (Java)
 YouTube: EOLine tutorial
 YouTube: ZZ Method Variations
 Speedsolving.com: ZZ Speedcubing Method
 Speedsolving.com: ZZ Cubers
 Speedsolving.com: ZZ/ZB Home Thread
 Speedsolving.com: ZZF2L Move Count
 Speedsolving.com: Noob's Approach to Missing Link for ZZd