At least one reason for not including third party libraries in a project (as a package), is that updates and bug fixes for them won't be included. You'd often be getting an obsolete version.
Ideally, the project should include all code needed to compile the project, with notes/documentation about which versions of libraries, etc are being used.
This quickly gets absurd for projects that have the complexity of the typical arduino project. After all, "all code" includes the IDE, compiler, Java, and OS to run on various computers. You wouldn't want every github arduino project to include an IDE .zip file (though it might be nice if they always documented which version they used!)
(This is a real problem for software companies, and they DO try to control ALL the tools. (including the code-controlling tools, of course. This is one of the things that you need an "IT department" in addition to and separate from the "developers. Open source is considerably less careful. I was recently looking at some classic code ("gdb stubs" for the 68k; part of the Gnu Debugger project, tightly associated with gcc. In current gdb distributions, no one has modified this code in quite a long time, and it's quite obvious that it hasn't compiled under a current version of gcc in about a decade...)