"Unfortunately, the USB communications protocol is complex, and implementing a USB design using a general-purpose microcontroller (MCU) can be time-consuming and challenging."
Glossary (copied from Wikipedia): Quick overviews: