I certainly appreciate your perspective, and insight,on this. I can tell you from my own personal (bad!) experience that it's very frustrating to those of use who are still learning our way around the Arduino to be confronted with so many libraries that all have the same -- or very similar-- names, and which all claim to do the same thing, but, in fact, don't! It's even more frustrating when the IDE changes and "breaks" the code in its OWN ("approved/installed") libraries, and also when those libraries are so imperfectly managed -- for example, there's no Library DELETE command, and no track of inter-library dependencies.
I tried, at one point, to install the "fmalpartida" NewLiquid Crystal library. The documentation that it came bundled with could only be understood by an expert, and many of the online instructions found at the Bitbucket website were written in -- how do I phrase this? -- rather awkward/cryptic English (but that sure beat NO instructions...). Still, I promptly ran into a number of issues and conflicts, probably because I needed to delete some things first (and they didn't say which ones). Then, the NewLC library #include'd about 20 headers at the top of my code. I suppose I should have deleted most of those, but there was no guidance. The example code used lcd.begin() instead of lcd.init(), and a different syntax, with different numbers of arguments, to set up the lcd object from my earlier LC_I2C code. It was certainly not a straightforward, plug-and-play change from the LC library.
I had this unhappy experience because the new IDEs (1.6.6 and 1.6.7) "broke" all the old LC and LC_I2C Library code, in the sense that these compiled without error but failed to print properly. So all my working code stopped working, and I spent the better part of a day trying to figure out WHY! I realize that this was the fault of the older Library, and not really the IDE and its C compiler, in the sense that the original versions of the library did not properly respect the correct syntax/use of the C "write()" function. That's a shameful tyro error, by the way, that I would not have expected from a seasoned programmer. You'd think this sort of thing would get caught, sigh.
I really think there should be some Arduino "rules" about Library names and dependencies, and much better Library control/management. Otherwise, this Wild West approach is going to see many repetitions of the same problems. As you wrote, novices are having exactly the same issues, over and over again, in hooking up displays. It really should not be that hard, and I think the writers of Libraries are NOT doing an especially job of making it much easier. We would all benefit if they would to take a step back from their elegant code and think about some elegant documentation. Just saying...