Hi,
Usally those communication work with a fixed baud rate, this limits the overall bits/s to be transferred.
Then there are start bits, stop bits, frame sync bytes, dedicated times of no data transfer, header bytes, error detection bytes, address bytes and so on...
Some are half duplex only..
This all decreases the payload.
Now you may say: why not simply use a higher baud rate?
But this depends on a lot of parameters:
* microcontroller/processor hardware.
* reaction time
* length of bus
* type if wires/signalling
* expected noise level
* power requirements
* and a lot more
*****
You really may compare it with human communication.
* it is simple to listen to a fairy tale in a quit room (even if spoken very fast)
But it's more difficult
* with noise of machines around
* with other talking people around
* if it's a difficult technical topic
* if it's foreign language and you have to translate it (mentally)
* or if there is an interpreter
* or you not only have to listen, but to answer, too
* or you have to write it down
* and a lot other influences...
Klaus