µBlock Origin is great for browsers that support extensions. But that won't get most Android TV ads or Apple TV users. And I suspect many of the people with pi hole also use µBlock Origin for redundancy.
Correct, I use both myself. Pihole is also my DHCP server and I created different blocklists for different devices on my network. For example, I have "general", "media", "gaming" and "kids".
Ads are not only present in the browser. For example, there are Smart (not really lol) TVs that have ads embedded right into the operating system (https://reddit.com/r/assholedesign/comments/co5aw4/unremovable_ads_on_my_2500_samsung_smart_tv/). You can't install an adblocker there, but a DNS based filter will know how to deal with this. There are other alternatives, some are cloud hosted like NextDNS or ControlD, there are other local alternatives like AdguardHome or PfBlockerNG if you run a PfSense Firewall. There are also simple solutions like AdGuard's Public DNS or Mullvad's Adblocking DNS servers. If you use an iPhone or iPad, you can easily download a configuration profile that includes the DNS settings for these services. I think NextDNS offers a similar service. On Android, you can just set up Dns over TLS, I think it's called Private DNS in the settings. DNS adfiltering can't get rid of all ads though, e.g. YouTube's mechanism for displaying ads is resistant to DNS filtering. That's what uBlock Origin if for though.
Pi-Hole will work on literally every device on your network. It can block ads on smart TVs, cell phones, etc. It can prevent certain forms of tracking on video doorbells, voice assistants, cameras, etc. You can also set up custom DNS to restore online service to old game consoles or to host web services at home.
You also get all the metrics. For example, I can see that my computer reaches out to my printer several times a minute and that the Oculus app for my Quest 2 was reaching out to its servers even when the app was “closed”.
You could also use it as a sort of parental control. It can provide one set of block lists to the parent’s devices and a different one to the kids devices. Or you could do the same with IoT devices so they are only allowed to reach out to the services they need to be able to run.
uBlock is still important though. It’s possible to get around a DNS filter like Pi-Hole by serving ads from the same domain that the core service is served through. uBlock Origin can do things like block YouTube ads for instance.
Speed and efficiency. Why waste time downloading ad content just for it to be hidden by the browser when you can simply stop them from being downloaded in the first place?