Some settlements grow bigger than others for the following reasons:
Lack of competition - there are no other big settlements nearby.
Villages or small towns that are near cities may grow bigger as commuters come to live in them. This is called suburbanisation.
If a new industry locates in a settlement it will create jobs, which will encourage people to migrate to this place. On the other hand, a lack of job opportunities will encourage people to leave; for example, in rural areas there are now few jobs available in agriculture or mining.
Accessibility and flat land encourage growth whereas marshy or steep land can inhibit the growth of a settlement.