Enabling a compute device to recognize gestures of a user allows for additional input modes to that compute device.  This additional input mode can be particularly useful in devices with limited input mechanisms, such as wearable devices.  Many gesture recognition algorithms work best when the user carries out a training procedure specific to that user, such as by performing a known set of gestures multiple times, which are then analyzed and used to adapt the gesture recognition algorithm to suit that particular user. 
Since different users (or the same user at different times) may perform gestures at different speeds, dynamic time warping is often used to allow comparison between gestures performed at different speeds.  The dynamic time warping is computationally intensive, particularly for devices with relatively low computing power, such as wearable devices.