In all honesty I haven’t spent more than a week or so in terms of man hours working with either Grunt or Gulp. But to me Gulp feels like the better option.
Switching to Gulp from Grunt it instantly felt faster, now that is no fair test… so a little bit of a Google search and I can confirm that yes in fact Gulp is the faster option.
The Key Difference
From my point of view the key difference between the two is the syntax in the task runner file.
I found Gulp a little easier to navigate and augment, it feels easier to customize and the ability to bind path names to variables was more familiar.
Reasons to use Grunt
Grunt has a longer History, more plugins and generally more support at the moment.
Before you choose Gulp check the plugin support for the tasks you need to run, it may be that some of the functionality you need currently only exists in a Grunt plugin and then using Gulp will not be possible.
Every article I have read seems to agree, Gulp is the task runner of choice among the cool kids. Gulp just feels right! At this point in time I have upgraded my task runner to Gulp, unless I have some major issues or problems with Gulp I don’t see any reason to use Grunt.