gulp and Grunt are task runners. They are different approaches to same problem. Grunt uses configuration based approach, while gulp uses streams from node to achieve result.
Please describe in your own words the difference(s) between Gulp and Grunt. What (unique) features distinguish the two? What is your personal preference and more importantly why?