I think just asking for use cases of end-to-end encryption is a very broad question. But in general: whenever two parties exchange sensitive information which need to be protected against sniffing (and probably also modification) by a third party end-to-end encryption makes sense. This includes for example direct messaging, mail communication, protecting passwords entered into web sites, protecting your online banking, telephony, accessing a remote desktop, management of a remote device in the context of IoT and many many more.
You should also note what end-to-end encryption does not offer. While (almost?) all end-to-end encryption implementations protect the message against modification they often don't provide the assurance that the sender is the claimed one or that no message are lost or that messages got replayed. But these are often requirements you have in end-to-end scenarios and which then need to be provided by additional techniques, like cryptographic signatures or message counters.
And then there are cases where end-to-end encryption does not provide the protection one might hope. For example, if you have two processes on the same machine and owned by the same user then end-to-end encryption probably does not make much sense. It does not protect against a user with same or higher privileges since this user could ptrace the applications to extract the unencrypted data from there. For this scenario a communication using (properly protected) UNIX domain sockets or use of socketpair or pipe offers the same protection but without the overhead of encryption.