Not really. I don't think any framework could make a claim that it is *the* best for any particular situation. I think there are some merits to Stripes' ability to stay out of the way. It can play nice coexisting with other action based frameworks. Right now I am working on a legacy struts app but we are doing all the new features in Stripes. There was nothing we had to do so that these two frameworks worked together.
What got me hooked was that I spent all my time getting my work done and little to no time dealing with the framework.
Any framework will let you "do anything", it's just a matter of how easily.
Early on, Stripes was one of the few frameworks that did indexed binding really well (for example, in Struts 1 you had to pre-allocate the size of the array you were bind to, where Stripes created and expands it on the fly).
Stripes major values are:
a) simplicity -- 99% of your problems are in your actual HTTP requests, and those are 99% of the time simple urls or forms. b) "doing the right thing". Stripes surprises me more by simply "working" the way it should, it really does get out of the way c) incremental complexity. You can go very far with more base Stripes knowledge. Yet as you run in to hurdle where you need more advanced use of the framework, not only is there a mechanism already in place, you find you don't have to learn the entirety of the rest of the implementation to use it. There's no huge wall you all of sudden have to cross to do that "just one more thing".
They done a very good job of exposing the guts of the system to the user in fine piece, and most every aspect of it is "patchable" without having to hack the actual Stripes code.