Pihole is an ad blocking DNS server for your local network. All connected devices use DNS to translate a domain name, like
www.flyertalk.com, to an IP address, like 104.27.174.149. Computers actually connect to IP addresses, not domain names. DNS is like the phone book for the internet.
Usually whatever network you connect to supplies a DNS server for you to use. You internet provider will have several, for example. Instead of using the default DNS, you configure your router to hand out your Pihole as the DNS server for devices that connect to your router. The Pihole has lists of known ad domains and when it receives a request to resolve one (i.e., convert into an IP address) it returns a "not found" for that domain. For other domains, it just resolves them normally. Thus, ads are blocked across your entire network. I have been running it on mine for a year or so and it does its thing well but I've also found that many websites break when you block their ads. For example, clicking on a button might not do anything. Also, I've noticed the CBS streaming app on AppleTV will just hang when you try to play a video about half the time...the other half it will play your video without commercials, which is nice. So, I wind up disabling Pihole for a few minutes when I run into that.