In this paper, three control methods—iterative learning control (ILC), repetitive control (RC), and run-to-run control (R2R)—are studied and compared. Some mathematical transformations allow ILC, RC, and R2R to be described in a uniform framework that highlights their similarities. These methods, which play an important role in controlling repetitive processes and run-based processes, are collectively referred to as learning-type control in this paper. According to the classification adopted in this paper, learning-type control has two classes—direct form and indirect form. The main ideas and designing procedures for these two patterns are introduced, separately. Approximately 400 papers related to learning-type control are categorized. Statistical analysis of the resulting data reveals some promising fields for learning-type control. Finally, a flowchart based on the unique features of the different methods is presented as a guideline for choosing an appropriate learning-type control for different problems.