<p>What are the pros/cons of using black-box reuse over white-box reuse?</p>

White-box:
pros:
simple (very natural concept)
you have more control over things
cons:
requires intrinsic knowledge on
component internals
can be difficult to implement (OO inheritance constraints)
sometimes it leads to broken\incorrect inheritance chains
Black-box:
pros:
low coupling (gives late binding and other goodies)
cons:
not obvious (code is much harder to understand)
interfaces are more fragile than classes (i.e. interfaces vs inheritance)