HID - A Custom communication method used between hardware and software to communicate directly in high bandwidth
MIDI - A open and common standard used to communicate between software and hardware for all manufactures (lower bandwidth)
HID is not customizable or open and is standard for custom 1 to 1 solutions. Midi is open and can be customized to suite your needs and used with any software.