The Wikipedia Grails page provides a basic explanation:
Grails has three properties which attempt to increase productivity when compared to traditional Java web frameworks:
- No XML configuration
- Ready-to-use development environment
- Functionality available through mixins
The first point should really be "less configuration" as a result of RoR-popularized configuration-by-convention: the framework addresses development of a certain class of applications and provides sensible defaults in that context.
The second point is also valuable: a hello world application can be both developed and deployed in a couple of grails commands. This reduces the barrier to entry, increases mind-share and makes for a more streamlined development experience compared to pure Java development.
I'll use an example from the Grails GORM page to illustrate the 3rd point. Grails allows you to write this kind of code to retrieve a book by its title from the "book" table without having to set much of anything up:
Book.findByTitle("Groovy in Action")
Of course, it's the result of a much more general property of Groovy: its dynamic nature.
For more practical productivity increase reports, see e.g. the Sky report.