1. It's a productivity improvement tool meant exclusively for developers.
2. It has a unique code generation strategy in which code managed by Spring Roo is AspectJ ITD files. You can customize the Roo-generated code by moving the code from AspectJ ITD files to corresponding Java source files, and then modify the code.
3. You can use Spring Roo learn about a technology. Let's say you never worked on Flex. You can look at the Roo-scaffolded Flex application and see how Spring-BlazeDS integration works.
4. The code generated by Spring Roo follows best practices recommended for application architectures.
5. You can extend functionality of Spring Roo by creating and deploying custom add-ons.
6. You can use Spring Roo throughout the lifecycle of your project.
7. Application developed using Spring Roo has no runtime dependency on Spring Roo.
8. You need not know more than Spring, Maven and AspectJ ITDs to use Spring Roo
9. You can remove Roo by using Push-in refactoring which requires just a few clicks in your IDE.
10. Spring Roo is a user friendly tool. For instance, it provide TBA-based auto-completion features for Roo commands and arguments.
The above set of features indicates that no doubt Spring Roo is the next generation productivity improvement tool meant for developers.