A inner join B on (condición): devuelve el conjunto de registros de AxB (producto cartesiano) que cumplen la condición.
A left join B on (condición):para cada registro de A, devuelve los de B que cumplan la condición. SI no hay ningún registro en B que cumpla la condición, se devuelve un registro con los campos de B a NULL. Right join creo que es igual pero para el otro lado.
Imagínate tienes una tabla con clientes y otra con compras. Si quieres ver todas las compras con los datos de los clientes te bastaría con un INNER JOIN, pero si quisieras ver también los clientes que no realizaron ninguna compra necesitarías el LEFT JOIN
No sé si me he explicado bien