Ethernet is like a huge party line with everyone talking on it at the same time. Your host basically picks out the parts of the conversation that are intended for it. If all hosts are on a hub, they will share the bandwidth with each other and all traffic should be visible from any host.
With a switch, software on the switch allows for fast port to port communication on the switch without advetising those packets to every port on the switch. Thus, we no longer see all of the network traffic, but the converstations involving our port on the switch. This is not intended to be a security mechanism. The main reason is increasing the amount of total available network bandwidth.