One spot when it's very useful is in making objects that are proxies for external resources (file data, executable utlities, etc.). Particularly when those resources can be inspected, it can be much better from a DRY perspective to let the interface of your proxy object automatically adapt even as the underlying resource changes.