It's actually not the "traditional" location at all. Traditionally, anything you installed after the OS went into
/usr/local, and indeed that's the "Classical Apache path layout" (their words) to this day. For a long time, it was
What you're seeing is that an Apache that has been configured for a particular OS -- whether that's Red Hat Linux, Mac OS X, GNU, etc - will customize the location. Apache's source are well designed for this, in fact if you trace the value for the ServerRoot in the source files, you'll see that it starts out in this file,
Some excerpts from that file will show you that there's a lot of variety in the docroot location.
/var/www came into my life with the 2000-2001 releases of Red Hat Linux 7.x (not Red Hat Enterprise Linux). For all the reasons you cite above, I thought it didn't make great sense - but the reality is that in the modern era so many other tools and technologies are involved the location moves anyway.
# Classical Apache path layout.
# GNU standards conforming path layout.
# See FSF's GNU project `make-stds' document for details.
# Mac OS X Server (Rhapsody)
<Layout Mac OS X Server>
# Darwin/Mac OS Layout
# Red Hat Linux 7.x layout
# SuSE 6.x layout
# BSD/OS layout
# Solaris 8 Layout