From a cursory web search, it sounds like that just loads dynamic libraries when their functions are first called? Is that really so useful compared to either loading at start or dlopen()ing if they're optional?

Yes, because the compiler and linker do the work for you, instead of manually writing dlopen boilerplate.

This is a common feature on Windows by the way, Aix is special in many ways, one of them is being COFF land not ELF.

Another shared feature is symbols being private by default with explicit exports.

AIX uses XCOFF that has diverged from COFF so much that it is easier to treat it an entirely separate lineage – not entirely different from the Windows' PE object/executable format, which is also a COFF derivative.

XCOFF is pretty cool, actually, e.g. it does not require for two sets of the same library to exist, i.e. one to use for static linking and another for dynamic loading – the same .a archive can be used for both.

The .loader section keeps import and export symbol tables (what the binary provides to others, and what it needs resolved), library search paths and dependencies, and relocation and fix-up details. If the .a is being used for static linking, the .loader section is simply ignored.