They might have similar results in many cases, but they're very different things. For a start, if uBlock blocks a domain then it's a click away from accessing it just this once. On the other hand, it only helps in browsers it supports. On the gripping hand, uBlock Origin can block individual resources, not only entire domains.
I'm a happy user of NextDNS rather than a PiHole, but the rationale is the same: use DNS blocking to block stuff that you never want anything on your network to see, and use uBlock Origin for fine-grained blocking of the rest.
I wouldn't want to rely exclusively on DNS blocking, because it won't block at the right level of granularity. I wouldn't want to rely exclusively on uBlock Origin either, because it doesn't work everywhere I want to block stuff.