Nowadays, many organizations and individual users are employing cloud services extensively due to their efficiency, reliability and low cost. A key aspect for cloud data centers is to achieve management methods to reduce energy consumption, increasing the profit and reducing the environmental impact, which is critical in the deployment of leading-edge technologies today such as blockchain and digital finances, IoT, online gaming and video streaming. In this review, various clustering, optimization, and machine learning methods used in cloud resource allocation to increase the energy efficiency and performance are analyzed, compared and classified. Specifically, on the one hand, we discuss how clustering methods and optimization techniques are widely applied in energy management due to their capacity to provide solutions for energy consumption reduction. On the other hand, we study how multi-objective optimization methods focus on reducing energy consumption as well as service level agreement (SLA) violation, and improving quality of services (QoS) simultaneously. Also, we discuss how optimization methods such as the firefly algorithm, whale optimization algorithm (WOA), particle swarm optimization (PSO) and genetic algorithm (GA) provide the highest performance in the field. Moreover, we analyze how machine learning methods such as deep neural network (DNN), random forest, and support vector machine (SVM) are applied to the prediction of energy consumption in the cloud, showing an accurate performance in this prediction. Nevertheless, we study how the existing methods still have limitations of low convergence, trap into local optima and overfitting.