Part of it is the binary config nature of Regedit though. I can't, from first or second principles, reason about which binary key to flip in order to change the behavior I'm looking for. Was it HKLM/ffebdcaaf, or HKLM/afbedccfh? Meanwhile if, eg dns got broken on my Linux box, there's a series of config files and daemons to check in order to figure out what's broken and then to get it working again. There's no way to learn anything with Regedit other than knowing you can just Google for the name of the key to set by looking up the problem.
Eh, having worked with both systems, I'd say they're roughly equally impenetrable. For sure, the registry sucks. But at least it's uniform and scriptable. Once you know what needs to be changed, you can write a .reg file and be reasonably confident it will at least change the registry in a valid way.
On the other hand, if the solution to a problem on Linux is to change some dotfile controlling some daemon, reliably scripting it can be difficult to impossible. Did the distro put the config file somewhere weird? Is awk good enough here? What if the key I'm looking to update is found in a comment, and what is the commenting structure for this file anyway? What if the daemon rewrites its config file on exit [0]? Or has a config file with an extremely complex format [1]? Or I need to poke several /sys files in a particular order [2]?
Both systems are hard to reason about, especially if you don't know them. But Linux isn't easy to approach for the first time, and there are advantages to the way Windows does things.