Yes, uBlock can and does do more than DNS blocking.
Consider the simplest possible case: I run ojford.com and take money from Acme Inc in exchange for displaying their advert. They send me acme-banner.jpg, and I serve it at /static/current-ad.jpg with an <img id="banner-ad" src="/static/current-ad.jpg"> in my header or whatever.
A DNS block covering the ad would block my whole site. Effective, but useless. (Unless you actually intend to boycott anyone who advertises.)
uBlock however can block the #banner-ad element. (Whether community-curated or by you specifying it yourself.)
More realistically this might be say YouTube or googleusercontent subdomains that serve both ads and 'real' content.
I'm not aware of a 'boycott sites that advertise' list, but possibly that exists – it wouldn't be added to a 'normal' ad blocking list though no, because they'd prioritise a functional site.
If the site is low volume then you’re probably right. But if I wanted to add the domain to my own list manually I couldn’t since it would break the site.
yeah, the useful thing about ublock isn't just that it stops ads from loading, but that it lets you remove unwanted divs. There are lots of unwanted divs that have nothing to do with ads, such as removing annoying Use Our AI buttons, or the Shorts section of youtube.
Once the end-user fail-safe of "use a real heuristic ad blocker that's hard to get around" is gone...the incentive for ad platforms to get around the relatively easy hostname based blockers goes WAY up. They know it won't drive people to more sophisticated ad blocker if the technical barriers for those are high.
Google's playbook of slowly eeking out this stuff so that you don't notice you're in the boiling pot has played out several times.
The third-party part of it is the major security risk. If you just want hide elements on a page, there's simpler tools just for that. If you want to protect yourself, and maybe discourage the rest of the world from thinking it's fine to include arbitrary third-party code in their products, use something better.
I don't think this follows the way you imagine it does. There's nothing stopping me from serving arbitrary third-party code directly from my own domain. If blocking ad domains becomes commonplace, they will just proxy it through first-party domains.
The only way out of this nightmare is legislation: stiff penalties for intrusive adtech and breaking up large tech monopolies so google isn't both seller and auctioneer.
I've considered doing the pi-hole thing for family, but doesn't ublock etc do a lot of fixing to make sure pages aren't broken when ads are missing?
Or does pi-hole/your implementation do the same?