Library management is the most difficult part of learning KiCad. This has been my opinion all the time when I have used KiCad, and over time this opinion has only been strengthened over time.
Creating and editing library items isn’t difficult, any more difficult than other parts of KiCad. What is difficult is library management, i.e. managing libraries as one would manage file system etc. (not editing what’s inside files).
The intuitive way to manage libraries would be to download items or libraries, put them somewhere, point KiCad there with simple file system path, and that’s it.
What is actually required is mastering at least three things and their co-dependence. Namely, path variables, library tables and filesystem. You have to understand how these work together. Path variables could be mostly ignored because they work with defaults in a standard installation and they aren’t strictly needed for personal libraries. But even the library tables + file system (where symbols and footprints behave differently) are a big problem. This system doesn’t correspond with any other software as far as I can tell, and therefore it’s not intuitive.
Maybe the underlying system itself doesn’t need a change, but maybe some radical invention in the UI level would do really good. Like an import wizard which could handle different situations as automatically as possible.
Also not knowing that the default libraries are read-only, and why, seems to be a recurring problem.
In my opinion it’s not enough to say that you have to somehow know beforehand that you shouldn’t edit the official libraries, or that you are supposed to create your own libraries.
I have followed KiCad and these forum discussions and frequently asked questions for years, and this really is the biggest single pain point in KiCad for beginners.
If someone gets frustrated trying to find a ready made part it’s not KiCad’s fault. But when it’s found, the process should be made simple and self-evident. The process of creating new parts from scratch necessarily has some learning curve, but the curve should be in editing (because editing always needs work, just like in the schematic and PCB editor), not in library management at large.