It can be practical for very large records if, say, you use a NAPTR record to point at a web server which serves the actual contents. It just requires a little out-of-the-box thinking. They can both use the same SQL backend so everything is still in the same database.
In this regard, DNS isn't broken and doesn't need fixing. HostDB seems especially obnoxious since it also stores the FQDN and IP address of each host, information which ends up being duplicated in DNS.
First thing I thought was that it should include DNS.
We have a Chef plugin that maps all our machines to IPs. We then delegate a short subdomain to that DNS server and bam, access any server at hostname.sub.domain.com
Set it to your search domain and you can access any of your servers with just the hostname.
I agree it's not necessarily going to be that practical for larger items of data, though.
LDAP would be a better comparison, though I can't say I fault people for reinventing LDAP on a regular basis given how annoying it is to work with.