Hola! el pretérito perfecto y el pretérito indefinido se confunden mucho, además, depende de la zona en la que estemos se usa más uno u otro, quiero decir, en Andalucía utilizamos más el pretérito perfecto, en Galicia o en América Latina no lo usan. En mi zona usamos el pretérito perfecto para acciones que están en el pasado, pero no un pasado muy lejano, por ejemplo: "Hoy he comido lentejas", no es incorrecto decir "hoy comí lentejas" (pretérito indefinido), de hecho se dice así en América Latina u otras zonas.
Sin embargo, hay que tener cuidado con el pretérito perfecto, porque no puede usarse para un pasado muy lejano, por ejemplo: //Ayer he comido lentejas// es incorrecto. Lo correcto sería: "ayer comí lentejas".
Mi consejo es que si tenéis duda uséis el pretérito indefinido porque siempre va a ser correcto para expresar un pasado concreto, de hecho en muchísimas zonas no utilizan el pretérito perfecto.
El imperfecto es más complicado de explicar, en inglés no existe. Se usa para describir el pasado, es decir, no solo quiero hablar de que "comí lentejas" si no que pasó algo más y también quieres contarlo: "Ayer comía lentejas y escuchaba música" se parece en inglés a "I was eating", pero no siempre es así, solo en este caso de descripción del pasado, de hecho también es correcto: "Ayer estaba comiendo lentejas mientras escuchaba música" o "Ayer estaba comiendo lentejas y (estaba) escuchando música".
También se usa para expresar un hábito, "Cuando vivía (o estaba viviendo) en Andalucía siempre comía lentejas", en inglés sería: "When I was living in Andalucía, I used to eat ..."
Espero que haya servido, si hay alguna duda más concreta, encantada de que preguntéis, saludos.