I am wondering how ethereal works?

I have tried on my network.. however i can onli see my pc traffic and the dist.. and some broadcasted packet.. how do i set ethereal to become a sniffer? or it is not a sniffer program? if it is not then what program would u recommand?

And I need to know how network works? As what I know, when a packet is send out.. all NIC in the network will get the packet.. but the NIC will decide whether the packet is for the pc, if not.. discard the packet, if yes.. accept it.. if that is the case how come ethereal cannot see other pc traffic? is there any doc that i can read about this?