Being immutable allows for reusable instances.
Collections.emptyList will always return the exact same singleton instance.
This is very efficient.
In addition to that, immutable data can be safely shared between threads, and is guaranteed to avoid weird side-effects due to coding errors. For that reason it makes defensive copies unnecessary, too.