Penyebab tidak meratanya persebaran penduduk di Indonesia adalah sebagai berikut.
- Penyebaran dan pengelolaan sumber daya alam yang kurang merata, wilayah di luar Pulau Jawa memiliki potensi sumber daya alam yang belum dikelola secara baik dan merata. Misalnya, potensi perikanan di Indonesia Timur, potensi emas dan batu bara di Indonesia bagian Barat, potensi minyak dan gas di wilayah Indonesia Timur dan sebagainya. Eksploitasi sumber daya alam di suatu wilayah dapat memancing penduduk untuk pindah ke wilayah tersebut.
- Kualitas pendidikan, sebagian besar sekolah dan perguruan tinggi yang berkualitas berada di Pulau Jawa. Kondisi ini memancing orang untuk mencari perguruan tinggi yang berkualitas.
- Kesuburan tanah, Pulau Jawa umumnya memiliki tingkat kesuburan tanah yang tinggi yang disebabkan oleh banyaknya gunung api. Debu hasil letusan gunung api sangat membantu kesuburan tanah. Oleh karena itu, penduduk banyak terkonsentrasi pada wilayah-wilayah subur tersebut. Sebaliknya wilayah di luar Pulau Jawa, seperti Kalimantan, bagian timur Pulau Sumatera, dan bagian selatan Papua, sebagian besar tanahnya mengandung gambut sehingga sulit untuk dijadikan wilayah pertanian.
- Pembangunan industri, sebagian besar industri dibangun di Pulau Jawa. Kondisi ini memancing tenaga kerja untuk datang mencari pekerjaan pada wilayah-wilayah industri.