Moth-flame Optimisation Algorithm (MFO) is a new metaheuristics optimisation algorithm presented by Mirjalili in 2015 which inspired by the navigation method of moths in nature. It has gained a huge interest due to its impressive characteristics mainly: no derivation information needed in the starting phase, few numbers of parameters, simple in implementation, scalable and flexible. Till now, different variants to solve various optimisation problems such as binary, real(continuous), constraint, single-objective, multi-objective, and multimodal MFO has been introduced. Many research papers have been presented and summarised. In this review, a general overview of MFO is presented at first. Then, different variants of MFO are described which are classified into three classes: modified, hybridised, and multi-objective. Furthermore, applications of MFO in Engineering, Computer Science, Wireless Sensor Networks, and other fields are discussed. Finally, many possible and future directions are provided.