I havent used JasperReports, but used Cocoon in a quite large application.
I really liked it, even though it caused me some problems. The main one was the learning curve. Cocoon/Xml/Xsl is not exactly trivial, so in the end, I had one programmer that dedicated himself to Cocoon only and the others were working with the Ejb part. I couldnt move people around when Cocoon was involved. Java folks didnt feel comfortable. Other projects here that went with Struts didnt have this problem...