An expanding range of services is offered by cloud data centers. The execution of application tasks is facilitated by assigning (VMs) Virtual Machines to (PMs) Physical Machines. Speaking of VM allocation in the cloud service center, two key factors are taken into consideration: quality of service (QoS) and energy consumption. The cloud service center aims to optimize these aspects while allocating VMs. On the other hand, cloud users have their priorities and focus on their specific requirements, particularly throughput and reliability. User requirements are considered by the cloud service center, resulting in VM allocation that meets QoS targets and optimizes energy consumption. Cloud service centers must, therefore, find a balance between QoS and energy efficiency while considering the user's requirements. To achieve this, various optimization algorithms and techniques must be employed. The objective is to find the best allocation of VMs to PMs. Due to the NP-hardness of the VM allocation problem, nature-inspired meta-heuristic algorithms have become commonly used to solve it. However, there are no comprehensive and in-depth review papers on this specific area. This paper aims to bridge a knowledge gap by providing an understanding of the significance of metaheuristic methods to address the VM allocation issue effectively. It not only highlights the role played by these algorithms but also examines the existing methods, provides comprehensive comparisons of strategies based on key parameters, and concludes with valuable recommendations for future research.