I use Tapestry 5.1 on a daily basis and I would use it (or now 5.2) for any future Java project.
Pros:
- With Hibernate integration, CRUD apps and any typical form handling is extremely simple.
- Dynamic class re-loading means you rarely have to restart your server during development. This has been supposedly improved even more in 5.2.
- No abstract classes to inherit and for typical usage, no interfaces to implement.
- TML (Tapestry Markup Language) is nice; generates clean html, forces separation of view and behavior.
Cons:
- Documentation for extending the framework is lacking.
- The internals are difficult to understand; sometimes you just do what the doc says and it works, but you don't really understand why.
Most of the negative things you hear will be leftover from Tapestry 3 and 4 which were not nearly as clean as T5. T5 also broke compatibility which made a lot of people mad. But if you're evaluating a framework purely on the merits of the current version, I highly recommend it.