The primary reason for this limit is the maximum allowed round-trip delay. If USB host commands are unanswered by the USB device within the allowed time, the host considers the command lost. So in order to meet the USB specification, cable length should be not longer than 5 or 3 meters as described above.
The limitations one may face while using USB cable:
16 feet (5 m) is the farthest USB cables signal can go without running into timing problems. This is built into the USB Specification, and can't be changed. And of course it is impossible to bypass this limit by connecting several USB cables to make a long one and plug in a USB device that is so far away from your host PC.
A "node" is a hub, switch, or repeater, allowing another set of devices to be attached to the USB network. You can't plug a scanner into your computer via 6 hubs, because that's six "nodes" between your scanner and the PC. There's not enough space in the addressing scheme for the computer to send or receive data from the scanner to the computer. This rule cannot be disobeyed.
It is frequently needed to use USB devices at virtual machines, but impossible to connect USB device to some of them.
The Universal Serial Bus allows connecting up to 127 devices to a computer.