Não há nada (que eu saiba) que possa ser feito com uma junção direita que não possa ser feito com uma junção esquerda. Mas às vezes a sintaxe com junções esquerdas é mais feia. Digamos que você tenha as seguintes tabelas:
Persons
ID | Name
Orders
ID | CustomerId | other unimportant stuff
SpecialOrderDetails
ID | OrderId | other stuff
Digamos que você precise obter uma lista de todas as pessoas em seu banco de dados e todos os pedidos que eles tiverem com detalhes especiais do pedido (diremos que nem todos os pedidos têm detalhes especiais do pedido). Então você normalmente faria uma junção esquerda de pessoas para pedidos. Mas você precisa participar de detalhes especiais de pedidos. Se você usar uma junção interna lá, efetivamente tornaria a junção esquerda de pessoas para pedidos em uma junção interna. IE: é isso que você deseja fazer, mas não funciona (ele excluirá qualquer pessoa que não tenha um pedido especial):
select p.*, o.*, d.*
from Persons p
left join Orders o on o.CustomerId = p.Id
inner join SpecialOrderDetails d on d.OrderId = o.Id
Então você pode reescrevê-lo da seguinte maneira:
--get all the people without a special order
select p.*, NULL, NULL, ... --NULLs placeholders for all the fields from OrderDetails and SpecialOrderDetails
from Persons p
left join Orders o on o.CustomerId = p.Id
left join SpecialOrderDetails d on d.OrderId = o.Id
where o.Id is null
union
--get all the people with a special order
select p.*, o.*, d.*
from Persons p
inner join Orders o on o.CustomerId = p.Id
inner join SpecialOrderDetails d on d.OrderId = o.Id
Não é exatamente claro (assumindo que não há comentários), mas ele faz o trabalho. Se isso é algo mais do que um caso pontual (ou seja, algo que alguém terá que voltar e manter um dia) usando uma junção correta, pode deixar mais claro qual era a intenção.
select p.*, o.*, d.*
from Orders o
inner join SpecialOrderDetails d on d.OrderId = o.Id
right join Persons p on p.Id = o.CustomerId
O que é um pouco mais sucinto e claro (mas apenas se quem estiver lendo o livro entender as junções corretas). Observe que isso pode ser escrito com junções esquerdas, mas requer uma junção aninhada (com a qual provavelmente menos pessoas estão familiarizadas do que junções direitas).
select p.*, o.*, d.*
from Persons p
left join Orders o
inner join SpecialOrderDetails d on d.OrderId = o.Id
on o.CustomerId = p.Id
Nesse ponto, é uma escolha do que é mais claro e do que a maioria das pessoas entenderá (você saberia como pesquisar no Google essa sintaxe se não soubesse que ela era chamada de junção aninhada?).
Em resumo, você não precisa estritamente de junções corretas, mas elas podem facilitar a leitura.