Because you are caching the responses, your clients won't suffer from bad performance even if your ISP's DNS isn't good. But I do recommend using your ISPs DNS server because most CDNs relies on the IP address that made the DNS request in order to route you to the closest edge server.
So using Google DNS or OpenDNS slows down your connection when fetching content from CDN (like YouTube, Facebook, Netflix, Steam etc.)
I don't understand your logic in using the ISP's DNS server...please explain more in detail.
In my experience, all ISP's cache DNS records from whatever DNS server they point to for the root of the record. Google DNS, OpenDNS and others would be doing the same. If the ISP DNS server is frequently unreliable (Like the Time Warner DNS server where I live), I'd think it's better to use Google DNS or OpenDNS since they are more reliable. My router (Ultimately my PC) will get some kind of response from Google DNS or OpenDNS rather than none at all. In my experience, I've seen the opposite of what you're recommending. When I use my ISP DNS, I often have performance issues because I'm not getting a DNS response at all.
I don't have a detailed understanding of CDN's, but if DNS is in the mix, I'd be interested in knowing more.
Also not to hijack (or necrobump) this thread, but since you asked a direct question...see the "Why to use it?" section down the page at
http://aqualab.cs.northwestern.edu/projects/namehelp. Good description of the issue.
This was actually an issue we had when I managed my small business's network in Alaska. We used OpenDNS for their (rudimentary) content filtering functions, but since the closest OpenDNS server was in Seattle, we found that any CDN services we were resolving were coming back with Seattle endpoints instead of local ones hosted in Anchorage on our own ISP. As well, on a residential connection in Missouri I manage for some family, using Google DNS results in CDN content coming from Chicago instead of coming from a local Suddenlink server 10ms away.
Namehelp is a Linux daemon or Windows service that basically runs namebench in the background. It then directs normal DNS queries to whichever resolver is the fastest/most reliable, but then it also queries the root servers directly for results for known CDN domains. That way, the CDNs' DNS servers respond with the content server that is topologically closest to your exact connection rather than closest to whatever resolver you're using. Using Namehelp gives the benefit of using a faster, better resolver (ISP resolvers are often poorly managed) for standard use but still getting access to topologically-close CDN servers. I find that pinging and tracerouting to sites like
http://www.akamai.com or
http://www.google.com or Cachefly or llnw.net or whatever almost always results in a server between 5-10 hops and (connection quality depending) 5-20ms away, whereas using GoogleDNS/Open DNS/whatever can end up with content servers 15 hops and 40ms away.
If only I could run Namehelp on Mikrorik... Part of me is tempted to put a Raspberry Pi or something at each of my locations and run Namehelp on there, but I think that'd be overkill...