There are two reasons why large applications come with bundled libraries. One reason is that it saves users from having to trace all of the libraries, find which package contains them in their distribution, ensure that they have the right versions, etc. Maintaining binary packages that work on all distributions is tricky because at a given point in time, distributions often ship different library versions. If your package is for a given release of a given distribution, then relying on the distribution's version isn't a problem. But with Arch Linux, due to the lack of stable releases, you're going to have to update your package very often if you don't bundle at least the rapidly-changing libraries.
The other reason to bundle libraries is that sometimes programs have dependencies on specific library versions. In principle, libraries have two-part version numbers: a major version number that changes whenever the ABI¹ changes in an incompatible way, and a minor version number that changes whenever anything changes (e.g. a bug fix, or a new feature that doesn't break backward compatibility). (Many libraries have a version number of the form MAJOR.MINOR but this isn't universal.) Library binaries with different major versions have different sonames, so that they can be installed together, whereas library binaries that only differ by their minor version have the same soname, so that only one is found by dynamic linking. If the program was built and tested for version 1.2, but you have version 1.3, the program should still work. However sometimes programs use undocumented interfaces which are not part of the ABI and which may be broken in 1.3. Since testing with all possible library version combinations would be a support nightmare, distributors of binaries prefer that all users use the same library versions (with an exception for a few system libraries, especially libc).
¹ Application Binary Interface: the specification of the interface between the compiled library and the compiled program.