Java, much like any other open source system, suffers from the paradox of choice - too many choices confuse people and makes them like the overall product or system less. There are numerous Java packages out there that do a number of things and it sometimes becomes very difficult for a developer starting on a project to figure out which combination of libraries are needed to meet the requirements.
Here's a list of interesting and useful projects that I have come across so far, ordered by the specific business need. While there are a number of comparison sites for libraries within a particular group, this is more of a subjective view of the libraries that I prefer.
|Validate US postal information (City, State, Zip)||JPostal|
|Unit testing module||JUnit|
|System or Integration testing with a Wiki-like interface - very helpful for transactional systems||Fitnesse|
|Application framework without the overhead of J2EE||Spring|
|Process Microsoft Office Documents||Apache POI|
|PDF creator / generator||iText|
|Reporting Engine||Jasper Reports|