for example suppose I did
:let foo=pattern
and now I want to perform Ggrep patter but use variable foo instead of the literal patter string.
:echo foo
outputs pattern, but
:Ggrep foo
just looks for foo
UPDATE:
building a string of command and then running :execute on it is not a solution, its a hack. And it breaks with any non-trivial variable values.

Ggrep(capital G?)? – akira Aug 8 '11 at 11:30