USB é estritamente mestre-escravo. O dispositivo não transmite, a menos que o host solicite a transmissão.
Mesmo o chamado modo "interrupção" é realmente interessante: por exemplo, a cada 8 milissegundos (ou menos, se você tiver um mouse para jogador), o PC pergunta ao mouse "qual é a sua posição" e o mouse responde.
Mesmo se você tiver uma interface serial USB, por exemplo. Quando a interface recebe dados na linha serial, não os transmite ao PC. Em vez disso, aguardará o PC iniciar a transação e solicitará os dados.
Esta página tem uma boa explicação sobre os pacotes que são trocados. Basicamente, lembre-se de que o USB foi implementado para permitir que o periférico mais burro e mais barato possível funcione, o que significa que a maior parte da inteligência está no host, no controlador USB do host, no SO e nos drivers. Isso é muito aparente ao ler as especificações.
O Firewire (por exemplo) tem uma filosofia completamente diferente, é muito mais poderoso, é multi-mestre para que os dispositivos possam conversar entre si sem a ajuda de um host / mestre. Na verdade, é muito mais próximo em sua filosofia de algo como anel de token com transferências isócronas batidas na parte superior do que USB. No entanto, "multi master" significa que requer um microcontrolador poderoso nos dispositivos, executando uma pilha de software complexa. Portanto, é mais caro e, portanto, limitado a produtos caros, como câmeras de vídeo e gabinetes de disco rígido rápidos. Um mouse firewire não faz sentido, seria muito caro. Essa é uma das razões pelas quais o FireWire falhou.