A new version of pacdep is out, fixing optional dependencies not working since pacman 4.1.0, and introducing a new option to show the "dependency path" for each package, inspired by karol's request for pactree.
Using option --show-path will show the (shorter) "dependency path" for each of the listed dependency, that is showing why a dependency is there, up to the main package.
This can be useful to understand why a dependency is listed, if it appears as dependency of a dependency of yet another dependency of the main package.
For example, if one wonders why ncurses appears as (shared) dependency as kalu,
pacdep -Ps kalu would provider the answer:
ncurses 9.75 MiB <- readline <- js <- polkit <- kalu
Downloads and whatnot
Thanks to all those who reported bugs or suggested features (for pacdep, or other projects ;)).
For longer descriptions & all the links you should need, see pacdep.
And of course, as always, new bug reports, suggestions or any other form of constructive criticism is very much welcome.