First good thing is performance. Back in the day when the web was new and shiny the hierarchical nature of DNS worked well, but as it's grown to billions of IP addresses that need resolving it's become a little harder to manage and keep performance high. OpenDNS solves this by having huge local caches in a number of partners that they are responsible for keeping up-to-date and in-sync, so there's never any delay when a request has to navigate it's way through a number of hops to get a definitive resolution.
Second thing is that it's smart. Traditional DNS just does a look-up. It's either right or wrong. With OpenDNS they apply some intelligence to the queries. First of all it looks for common spelling mistakes and fixes them. If you type in google.cmo and it will give you google.com.Then it compares what you're looking for against a list of known phishing sites (and other bad things) and warns you before letting you through.
Third thing is they've got a great approach and they're not stopping there. Now that they've got a framework in place they're looking at other ways to improve the user experience and protect their customer.
So why are they providing this service for free? Of course it's not out of the goodness of their hearts. All that infrastructure and development costs money and even in the world of Web2.0 it has to come from somewhere... in this case the model for end users is to offer adverts for similar/related sites if you request a site which doesn't have a DNS entry at all. I imagine in the future they'll offer a premium service (for corporates, ISPs or high traffic users) with more customisable reporting, stats, blocking/filtering and maybe early access to new facilities.
For now however my laptop is configured to use OpenDNS when I'm away from home, and the gateway at home now uses their settings for all our machines. Have a look how easy it is to get started...