USB is one of the great success stories of computing — billions of devices, all sharing one connector standard. The downside is that there are a lot of moving parts behind the scenes. When you plug in a USB device, the operating system has to: detect that something was inserted, ask the device to identify itself, find the right driver to talk to it, load that driver, and finally let your applications use it. A failure at any of those steps shows up as 'not recognised'.
The single most common cause is the cable. USB cables — especially cheap ones — wear out, develop intermittent breaks, or were never built to carry data in the first place (some are charge-only). Always rule out the cable before suspecting anything more complicated.
The second cause is the USB controller driver itself, which sits one layer below the device-specific driver. If the controller is in a weird state, no USB device on that port will work properly. A clean reinstall of the controller driver fixes this kind of system-wide misbehaviour.