I could not find any valid example on the internet where I can see the difference between them and why to choose one over the other.
Another way to look at it is to use chain.from_iterable
when you have an iterable of iterables like a nested iterable(or a compound iterbale) and use chain for simple iterables