Why do compiled binaries still require libdb, BerkeleyDB, and others?
The standard compile process does not static "include" dependencies in the executable file. It refers to the installed libdb, boost, etc.

This (dynamic linkes libraries) is an efficient concept. Otherwise each executable that uses – as example – boost would require to include the whole boost dependency in the binary.

The "official" Bitcoin-Core binaries offered through bitcoin.org are static compiled executables (they include everything). This is required to gain linux/distribution independence as well as to fully build the binaries deterministic (security/integrity).

You can build a static linked bitcoind yourself by following the "depends" build process:
https://github.com/bitcoin/bitcoin/tree/master/depends