There are some things can only be implemented with a unioning file system, like a read-write layer on top of a shared read-only layer. But there are other things that are more efficiently or easily implemented via the usual mechanisms - normal mount points, bind mounts, and plain ol' cp -r. It is tempting to view unioning file systems as the Swiss army knife of system management, but that's the kind of feature creep that results in an unmaintainable buggy system.
Remember the source control use case for original Plan 9 and BSD union mounts - you don't actually want a union mount, you want a full-fledged source control system.