Dragonfly algorithm (DA) is one of the most recently developed heuristic optimization algorithms by Mirjalili in 2016. It is now one of the most widely used algorithms. In some cases, it outperforms the most popular algorithms. However, this algorithm is not far from obstacles when it comes to complex optimization problems. In this work, along with the strengths of the algorithm in solving real-world optimization problems, the weakness of the algorithm to optimize complex optimization problems is addressed. This survey presents a comprehensive investigation of DA in the engineering area. First, an overview of the algorithm is discussed. Additionally, the different variants of the algorithm are addressed too. The combined versions of the DA with other techniques and the modifications that have been done to make the algorithm work better are shown. Besides, a survey on applications in engineering area that used DA is offered. The algorithm is compared with some other metaheuristic algorithms to demonstrate its ability to optimize problems comparing to the others. The results of the algorithm from the works that utilized the DA in the literature and the results of the benchmark functions showed that in comparison with some other algorithms DA has an excellent performance, especially for small to medium problems. Moreover, the bottlenecks of the algorithm and some future trends are discussed. Authors conduct this research with the hope of offering beneficial information about the DA to the researchers who want to study the algorithm and utilize it to optimize engineering problems.