When the cpu isn't doing anything, it runs the idle process.
Sim. Todos os sistemas operacionais multitarefa têm um. O processo não faz nada. Apenas é um espaço reservado quando nada mais está em execução. Ter um processo de não fazer nada é mais simples do que ter um caso especial quando o processador está ocioso. É sempre a prioridade mais baixa, então é sempre substituída por algo que pode fazer um trabalho real.
I heard that this process looks for programs that are waiting in the queue so that the cpu can run them. Is that all it does?
Não faz isso. O agendador do sistema operacional faz isso. O agendador faz parte do kernel (quase sempre) e não é um processo.