Atmega32u4 USB and USART
Try an Internet search using the keywords "Arduino bootloader". You'll easily find websites that discuss the inner workings of an Arduino board's bootloader.

See also the data sheets on Microchip's website for their ATmega32u4 product. There you'll find a data sheet that describes the chip's "USB DFU bootloader." 

Also search for "USB CDC" or "USB communication device class".

My guess is, when you connect the Arduino to the PC via a USB cable, the PC's operating system performs plug-and-play device discovery, and the bootloader software or other firmware on the ATmega32u4 tells the desktop computer that it (the ATmega32u4) is a serial communications device; consequently, Windows registers the device as a COM port. This behavior is similar to an FT232R chip which is commonly found in USB-to-RS232 adapter cables.

The desktop computer's operating system might fail to correctly detect the Arduino as a serial communications device (a COM port) if the operating system or some part of the operating system is out-of-date or buggy (e.g., an installed device driver is out of date or buggy), or if the bootloader software or other firmware on the ATmega32u4 is out-of-date or buggy, or both. For example, the OS might incorrectly detect that the device is a human interface device (HID) such as a keyboard or mouse.