There isn't anything (that I know of) that can be done with a right join that can't be done with a left join. But sometimes the syntax with left joins is uglier. Let's say you have the following tables:
Persons
ID | Name
Orders
ID | CustomerId | other unimportant stuff
SpecialOrderDetails
ID | OrderId | other stuff
Let's say you need to get a list of all the people in your database and any orders they have with special order details (we will say that not all orders have special order details). So you would normally do a left join from people to orders. But then you have to join in special order details. If you use an inner join there, it would effectively make the left join from people to orders into an inner join. IE: this is what you want to do but doesn't work (it will exclude anyone who doesn't have a special order):
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
So you could rewrite it as this:
--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
Not exactly clear (assuming no comments), but it does the job. If this is something more than a one-off (ie. something someone is going to have to come back and maintain someday) using a right join might make it clearer what the intent was.
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
Which is a bit more succinct and clear (but only if whoever is reading it understands right joins). Note that this can be written with left joins, but it requires a nested join (which less people are probably familiar with than right joins).
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
At this point, it is a choice of what is most clear and what most people will understand (would you know how to google that syntax if you didn't know it was called a nested join?).
In short, you don't strictly need right joins, but they might make it easier to read.