In the real life, networks can abstract various complex systems. Organizing networks' vertices into coherent subgroups (clusters, groups, or communities) is considered one of the essential rules of complicated networks. A crucial feature of complex systems is having a community structure. An efficient methodology for tackling this vital feature is the community detection. The discovering of communities in these real-world complex networks is vital, as it helps gain strategic insights leading to crucial decisions, and realizes and discovers the dynamics of these systems in the real world. Detecting communities in networks has been recently realized as one of the major research areas in various domains such as science, physics, biology, marketing, engineering, ecology, political sciences, and economics. Meanwhile, the significance of optimization and subsequently the importance of the optimization approaches have been recently emphasized. This is because almost all hard applications and real-world ones deal with maximizing or minimizing some quantity to improve some outcome. Although many hard problems can be handled by numerous optimization approaches, there exist many factors for which applying these approaches for dealing with the community detection problem needs much research. This work researches this important research point with the use of community detection optimization approaches each represents a crucial class of optimization algorithms. In addition, the essentials of discovering clusters in networks are detailed.