No one likes to reuse code more than I do. The first thing that I look for is good quality GPL (when applicable) or BSD/Apache type licensed code to reuse rather than “reinventing the wheel”.
My wife asked me to add a message board to our CJsKitchen.com recipe web portal so that people can comment on recipes and suggest improvements for the system. There are several good open source Java JSP/servlet based message board projects but I decided to write my own from scratch. Why? Good question! In our case, the message board needs to be tightly integrated with existing user accounts, knowledge about recipes (so that comments can optionally be linked to specific recipes), etc. I did spend time looking at the source code to existing systems, but decided I wanted a custom solution that is tightly integrated with both the relational database for the web portal and the software that I have already written for it.
The same thing happened a few years ago. I was writing a “SharePoint(tm) replacement” for a customer to manage the workflow for word processing documents. The web portal was highly tailored to their work flow and used a custom Prevayler based persistent data store. Near the end of that project, I received a feature request for a message board and it made more sense to spend an extra day and write something that was tightly integrated with the rest of the system.