There is a new article in IBM developerworks, which explains the usage of iText in simple steps Generate PDF files from Java applications dynamically. Although a it is open source, my personal experience with iText was not so happy. Using iText in Java Web Applications was quite easy. But once implemented, it took a lot of memory and CPU time, and that was for a single page PDF file. If you run the example that is provided with the article, you can see a spike in CPU usage. This was not acceptable for our applications, and we had to switch to Adobe LiveCycle forms for generating PDFs.
Generating PDFs from Web Applications using Adobe LiveCycle form server is easier than it is with iText (once you get the hang of it, the documention is one of the worst). It does perform better but it comes with a heavy price tag, and needs an application server to run on. Currently Adobe LiveCycle Forms can be integrated with WebSphere and JBoss Application servers. It is not designed for handling heavy loads, but definetely performs better than iText for low to medium loads.
While iText is free, it comes with a performance penalty and while Adobe LiveCycle Forms offers better performance, it also comes with a heavy price tag. Both are equally easy to implement. It is your requirements and budget that will govern your choice.