Gulp is a task runner aiming at automating tedious and possibly complex tasks. The idea behind Gulp (and its peer Grunt) is to define tasks that perform (usually file-based) actions. These tasks can then be run through the command line or as part of another build step.
Gulp also owes its success to its very large ecosystem of plugins, making it easy to perform everyday’s tasks without having to write much code.