In most articles about default methods, almost everything is written, except for one extremely important detail, what are they motivated by?
What are they used for in practice?
In java 8 default methods were added primarily to add new methods to old interfaces and maintain compatibility with existing code.
The most striking example is the Collection interface and the stream method
PS Very good discussion here