Grails is an open-source web framework which uses the Groovy programming language (which is based on Java). Thanks to the convention over configuration paradigm, it aims to increase productivity and to be as easy as possible for new users.
Ranked in these QuestionsQuestion Ranking
Pro More than 900 plugins
Grails is a full-stack web framework, not just MVC. It contains a lot of stuff out of the box, but it doesn’t enforce it. It contains over 900 plugins which provide a Groovy API for a lot of useful and well-known Java libraries. And what is more important is that they are super easy to install!
Pro Very fast setup and scaffolding
Setting up a new project is quite fast and code generation (scaffolding) saves you a lot of time. It also uses a convention over configuration principle which helps you bypass all the configuration trouble.
Grails also comes with a reloading mechanism out of the box.
Pro Easy to use
Grails is designed to be a rapid development framework with a straight learning curve. It advocates convention over configuration. Extensibility is very simple when using plugins (there is a lot of them). One command in the console – and all the dependencies and configurations are managed for you.
Pro Great UI design alternatives
Pro Grails is highly scalable
Grails is an abstraction over Spring and Hibernate. This makes Grails applications fast and scalable. This is because both Spring and Hibernate are themselves scalable.
Pro Great documentation and community
The Documentation section is actually a wiki, which can be modified by any logged in user. It has an official manual, tutorials, screencasts, a sample app and much more. If that does not do it for you, then there are countless third-party tutorials, more than 12k questions on SO and much much more
Con Grails is a fairly complex framework
Grails is a pretty heavy piece of software. It's functionality is covered by GORM (Grails' Object Relational Mapping) which is a facade for hybernate and by Spring MVC.
Everything is glued by core Spring and furthermore, Grails adds another level of abstraction on top of all this. These things may create some trouble down the road when debugging.