Soft Computing techniques are capable of identifying uncertainty in data, determining imprecision of knowledge, and analyzing ill-defined complex problems. The nature of real world problems is generally complex and their common characteristic is uncertainty owing to the multidimensional structure. Analytical models are insufficient in managing all complexity to satisfy the decision makers' expectations. Under this viewpoint, soft computing provides significant flexibility and solution advantages. In this chapter, firstly, the major soft computing methods are classified and summarized. Then a comprehensive review of eight nature inspired - soft computing algorithms which are genetic algorithm, particle swarm algorithm, ant colony algorithms, artificial bee colony, firefly optimization, bat algorithm, cuckoo algorithm, and grey wolf optimizer algorithm are presented and analyzed under some determined subject headings (classification topics) in a detailed way. The survey findings are supported with charts, bar graphs and tables to be more understandable.