rabin2 -l shows a binary’s direct dependencies, i.e. those that are listed in the binary itself.
ldd shows a binary’s fully-resolved dependency tree (as far as possible); this includes transitive dependencies. Thus if a binary needs
libd which itself needs
rabin2 -l will only list
ldd will show all four libraries (if they are all available).
You can match
ldd’s result manually using
rabin2 -l by listing the first binary’s dependencies, then each individual dependency’s dependencies, and so on until no new dependency is identified.
To find out if a library is actually being used, you can the binary with
ltrace in all the scenarios you care about. This will identify the library functions that are called. Note that the use of certain libraries will be configuration-dependent; for example the Kerberos libraries would presumably only be used if Kerberos is configured.
See also ldd vs rpm -q --requires.