Gary's talk is very interesting and is nicely divided into segments that cover off different topics. Give it a listen.
Gary suggests that component reuse relies on a stable architecture. I agree. Based on my direct experience on two J2EE eCommerce projects and significant amounts of time investigating best practices, I think that J2EE architecture has a way to go. To illustrate this point, consider the number of web presentation frameworks and database persistence alternatives. See also this thread on lack of portability:
Architecture maturation and reuse (and not components) is probably a higher ROI acitivity for most organizations (at this time).
Overall, I am unconviced of the value of component reuse except for the largest of enterprises. Consider the lesson of XP and Agile Programming: "Build only what you need and no more". I don't want to start a war about XP good/bad. My point is Component Reuse and XP are at opposite ends of the spectrum. My own project experience cautions against building for reuse as I have seen attempts at genralization lead to functionality bloat and project delays.