As a cutting-edge branch of unmanned aerial vehicle (UAV) technology, the of a group of UAVs has attracted increasing attention from both civil and military sectors, due to its remarkable merits in functionality and flexibility for accomplishing complex extensive tasks, e.g., search and rescue, fire-fighting, reconnaissance, and surveillance. Cooperative (CPP) is a key problem for a UAV group in executing tasks collectively. In this paper, an attempt is made to perform a comprehensive review of the research on CPP for UAV groups. First, a generalized optimization framework of CPP problems is proposed from the viewpoint of three key elements, i.e., task, UAV group, and environment, as a basis for a comprehensive classification of different types of CPP problems. By following the proposed framework, a taxonomy for the classification of existing CPP problems is proposed to describe different kinds of CPPs in a unified way. Then, a review and a statistical analysis are presented based on the taxonomy, emphasizing the coordinative elements in the existing CPP research. In addition, a collection of challenging CPP problems are provided to highlight future research directions.