I had no idea that Arduino put libraries in ....\Arduino15. I assume the folder name ending with 15 was created with version 1.5.x ...
Yes and all the "packages" like add on cores are installed down there. I'm not a fan of the way they did this.
It has many issues and is bad practice since it is installing executable binaries in a users home directory.
It means that each user on a system ends up effectively installing the same stuff.
It also falls flat on its face when home directories are shared across machines that may not be running the same operating system.
Now I still have a question ----> I find a WiFiClient.h library under both Program Files(x86) and under AppData and they are different, so how does the IDE know which to use? It looks like libraries can be in 3 different file paths, under..... Programs(x86), AppData, and My Documents.
There are actually more than 3.
different versions of a library can be in several different places and there is well defined hierarchy as to which version of the library gets picked.
The general idea is that it allows things like having a bundled library that may work for all cores that can be overridden by a core version of the library which can be overridden by a version in the users sketchbook.
For the most part it works ok, other than the IDE uses the users sketchbook/libraries area to do its updates for the bundled libraries. THAT is totally messed up and causes LOTS of issues.
i.e. an update of a bundled library like say LiquidCrystal will stomp on any locally modified version you might have installed/created in your sketchbook/libraries area. And even if you didn't have your own version, a 3rd party core might have come with its own and a bundled library update will override the core version since the user/sketchbook libraries have higher priority.
I have unsuccessfully tried to get the arduino developers to change this to no avail.
It is a bit complicated due to some other desires like not wanting to update IDE installations in place which is directly tied to why the arduino15 directory was used for installing 3rd party cores and program executables - which also has issues.
Basically the way the IDE uses the library manager to update its bundled libraries is totally broken and doesn't really work. It can clobber your own versions of the library and if you are using more than a single core since it can clobber the core specific versions of the library. Some kludges were added to the IDE to try to work around this that help in some cases, but there are still some issues that are simply not solvable until the methodology is changed.