Before I get to tradeoffs, I want to talk about the decision. If you are using
JSF alone or JSF with
EJB 3, you would be crazy not to use Seam. Chapter 3 and 4 describe that just a couple of small additions to your project make your application Seam-enabled. I'm really serious that if you are using JSF and not Seam, you haven't done your homework.
Okay, so what are the tradeoffs.
#1 If you aren't using JSF, Seam sort of pushes you there. This will change in Seam 2.1 with the Wicket integration and better GWT integration, but if you want Seam in all of its glory, you really need to use JSF. The book assumes you are using JSF (except for the section on GWT).
#2 ORM isn't always the right solution and that is a lot of what Seam provides. I love ORM and I find anyway possible to use it in a project. But sometimes my aspirations are misguided. You can certainly use Seam without ORM, but you are cutting out many of the features. On the other hand, when it comes down to it, Seam is really just about that @Name annotation and it really doesn't care what that component is doing inside its methods.
#3 You really need to buy into annotations. It's possible to create and configure components in XML (chapter 5), but beyond that, you can't use some features of Seam without annotations.
#4 Bijection is a beautiful thing. I love it. You might not like it. At first, it appears a bit abstract. I remove these barriers in chapter 6 by getting you to understand every last detail of bijection. Still, you might not like what you see. You have to decide on that.
That's all I have for now. Feel free to follow up if you need more.