$ionicGesture service provides many touch events ( hold, tap,left,right etc) and on the other hand AngularJs ngTouch provides only three touch events (ngClick, ngSwipeLeft and ngSwipeRight). $ionicGesture service makes easy to use touch events.
Here is code snippet to explain $ionicGesture service :
<ion-view view-title="Gesture detection">
<ion-content id="contentData" has-bouncing="false">
<p>$ionicGesture service to drag content up, down, left and right direction.</p>