Code factoring has to do with the separation of responsibilities in code. Properly factored code has high cohesiveness and minimized coupling (as much as possible for the situation). This makes code more reusable because it is less dependent on other modules within the application and is generally more abstracted to its specific task. I would also argue that the inclusion of good documentation (ie the javadoc answer) would lead to more reusable code. The act of going back and making your existing code better by factoring is known as Refactoring. There is a terrific book on this subject by Martin Fowler(the man).
You showed up just in time for the waffles! And this tiny ad:
Building a Better World in your Backyard by Paul Wheaton and Shawn Klassen-Koop