Highly dynamic environments like clouds by nature cause a high degree of unpredictability of resource utilization and performance. Failures, latencies and heterogeneity should always be the main concern for affecting the scheduling decisions in distributed infrastructures. As a result, the scheduling efficiency of jobs before their submission is very difficult to be achieved or either forecasted. Even in the cases of the most complex schedulers a comprehensive dynamic view cannot always be predicted. Thus, the rescheduling concept takes advantage of the current scheduling status and performs a dynamic scheduling decision. In this paper we present a discussion of the virtual machine migration strategies that are currently available in distributed systems based on the need of migrating virtualized resources in order to achieve better resource utilization and performance such as improve load balancing, makespan and higher throughput of jobs. We conclude our study with a critical discussion of vital requirements for virtual machine migration.