Why does the Arduino Due have a native and USB programming port?
Either port can be used for programming, but the native USB port lets you do other things:


  It also enables the Due to emulate a USB mouse or keyboard to an attached computer. To
  use these features, see the Mouse and Keyboard library reference pages.
  
  The Native USB port can also act as a USB host for connected
  peripherals such as mice, keyboards, and smartphones. To use these
  features, see the USBHost reference pages. http://arduino.cc/en/Main/arduinoBoardDue


So you can use the Due to interface with USB devices or connect it to your computer and have it act like a USB device.