To address CJDNS, it’s a project that inspired a lot of people, but it’s not actually used for internet access. It’s mostly used by people who are connecting to it over their existing ISPs. This is because it is not good at finding efficient routes. People trying to set up an efficient network will use distance vector protocols like Babel or Batman. We have some patches to Babel that enable our price based routing. To my knowledge CJDNS is not used by any mesh networks actually providing people with internet access.
Why people connect to CJDNS over their ISPs, I’m not sure, but who am I to judge what people do in their spare time. My guess is that it’s easier than actually doing the work of setting up a real network but they can still feel like they are part of a “mesh network”.