People migrate based on a combination of what are called "push" factors and "pull" factors. That is, they migrate because of a combination of bad conditions where they are and good conditions that they believe exist in the place where they want to go.
Typical push factors involve things like bad economic prospects and political upheaval and violence. People might want to leave the place where they live because there are no jobs or because they fear being persecuted for their politics or their ethnicity.
Typical pull factors are things like economic opportunity, social stability, and the presence of other migrants from a given area. People will go to places where they think they can find work and be safe, but they also like to go to places where migrants from their area have already settled.