(Disclosure: I am employed by Google and work on Chrome)
Keep in mind that we build on Windows, so much of the code in our
third_party directory is there because we need that code on Windows. There
are a number of configure time flags to switch between the third_party and
system versions of libraries like zlib, libevent etc.
Having said that we do have a number of forks. Here's an unrepresentative
selection of them covering some of the reasons:
libevent: we needed bug fixes and we needed to be able to run on systems
which didn't have them.
icu: we need a more recent version than was even provided on Karmic.
libjingle: upstream appears to be unmaintained.
sqlite: we added full-text indexing (now upstream) and several performance
improvements which are rather specific to our use case. We don't want to do
without them and upstream aren't too interested.
nss: we push patches upstream, but we are working on this heavily. Even so,
the default Chromium build uses the system version and disables the
features that we've added.
I'm going to avoid making philosophical points here. I only wanted to give
some of the real-life reasons why we carry forks of some of this code.