Therefore what the hub needs to do is simply repeat/relay whatever is being transmitted on ay one or more of the input lines to the output line. Similarly it should just relay data traffic coming in to be sent to all the ports connected to it. This will ensure that every machine can hear what is happening in the network. Same thing happens on the next level if there are more than eight machines to be connected in the network. The most efficient arrangement then is a tree like set up of hubs and machines on the network.
This simple arrangement keeps the design of the hubs simple, they are just repeaters. An Ethernet network, however, is an inefficient arrangement when there is heavy traffic. It is easy to visualize that as more traffic is generated, there are more chances of a collision. Collisions will delay the data that was to be transmitted. The theoretical maximum throughput in a busy network is of the order of 37%. The throughput can only increase if we can reduce the possibilities of collisions. On the plus side, being simple they cost less. As the network grows, as your business grows or you need a reasonably large network to start with because you have a large number of users, the possibilities increase of these traffic problems. Only solution is to reduce data traffic somehow.
The design of the hubs can be improved to do that. Supposing the hub could read the address of the data packets being sent and received. One simple strategy would be to send out data from any of the incoming ports only if the packet was not meant for one of ports on the input side. Similarly it could repeat an incoming packet only if it is meant for the ports connected to it. That too it can send it to the specific port to which it is addressed. It is not difficult to see this simple strategy could reduce the traffic significantly and the throughput roughly doubles. These kind of improved hubs are known as switches and larger networks that are heavily used, have to have them in the network. As you need this additional intelligence, switches are comparatively more expensive. Depending on the usage pattern one could use a judicious mix of hubs and switches in a network. As a very rough guide stick with hubs if your network is 25-40 users and use switches if the user population is more than 40-50.