What3Words is free for writes (presumably it's generated from an algorithm and there aren't really "writes") and you pay for reads.
Kind of a big difference. With DNS you only have to pay if you want a domain. I can freely do a DNS query to resolve "flamingmongoosefarts.com", but with What3Words I (might not) be able to freely determine where flaming.mongoose.farts is.
DNS query is free because someone pays for the domain registration and your DNS queries(DNS queries/servers cost too). I can see how What3Words could charge the address owner a fee for its address to be licensed publicly just like the domain registration publishes your NS records as long as the maintenance fee is paid.
Tbh I must admit that they are slightly different scenarios because the domain name registration is slightly distributed but my point is that public DNS/Domain registration is neither free nor open. They are controlled by various entities/corporations so they are not the best examples.
You still pay for writes(i.e. domain registration). You can argue that DNS and domain registration are different things but in reallity they are inter-dependent so there is still a cost and the system is "owned" by several entities(i.e. ICANN)