There are two main types of USB connectors: Standard-A and Standard-B, each with its own plugs and receptacles.
If you examine how they are used in our lives, you’ll find computers often have Standard-A receptacles, which means they’d like to receive Standard-A plugs. And keyboards and mice often have Standard-A plugs, making them suitable for a computer.
However, removable disks and printers often have Standard-B receptacles. And we usually connect them to the computer using a wire with two different ends: one with Standard-A plug (to connect to computer) and the other with Standard-B plug (to connect to removable disks/printers).
So why do we introduce two types of USB connectors? The answer is to prevent an electrical loop. Modern computers usually have more than one USB receptacles. If we use a wire with two Standard-A plugs, we may accidentally connect two USB receptacles on the computer, which is not a good idea…
As established by usage, Standard-A plugs are often connected to downstream receptacles (on computers), where the connection is meant to be permanent. Standard-B plugs are often connected to upstream receptacles (on devices), where the connection is removable.
Another interesting fact is that the data connectors are recessed in a Standard-A plug as compared to the outside power connectors, so that a device gets power earlier than data. To fully utilize this feature, you can only partially insert the plug so that the device gets only power but not data connection. Sometimes this is useful as some stupid MP3 player will get into file transfer mode and stop playing when the plug is fully inserted.