The first prints a line to the answer. The second displays the body of the tag on the response, and then displays the string. Not all tags have a body, so the second is less common. For example, <g:img src='foo.gif'/> does not have a body, but <g:ifLoggedIn>Welcome Back</g:ifLoggedIn> does.
When you define the closing of a tag, it either has one argument, usually "attrs" or two, usually "attrs" and "body". Names do not matter, they are just reasonable defaults. The body argument will be a closure that displays the internal content of the tag when called as a method (i.e. body() )
source share