In the original Ethernet specification, the network itself consisted of a long coaxial cable that all users were connected to via a variety of different tap off arrangements. The ends of the cable were terminated with special resistive terminators that had the same impedance characteristics as the cable so that the cable appeared infinitely long. This prevented reflections of the signals that could cause distortion. The cable operated at 10 Mbps.
When receiving, each transceiver presented a high impedance to the cable so that it could monitor the signal voltage without causing distortion. A technique called Carrier Sensing Multi Access / Collision Detection (CSMA/CD) was used.
Theoretically, only one client should be transmitting on the cable at any one time. If a client wanted to transmit and there was already a carrier present, then the client had to wait for the current user to finish its transmission. This was Carrier Sensing. However, if two clients started to transmit at the same time, neither would have detected that a carrier was present and the information on the cable would be corrupt. Each transceiver listens to what it is sending, and if it detects corruption it stops and waits a random time before trying again. This was Collision Detection.
Only one user could transmit on the cable at any one time so even with just two clients (or stations) on the cable, the only mode of operation could be half-duplex.
With the introduction of the modern cables such as Cat5 and Cat6 types which support simultaneous transmission in both directions, and modern switches (or routers with built in switch functions), full duplex operation is supported. If two clients transmit at the same time to the same destination, then the switch will buffer one message so the recipient receives them sequentially. If two clients transmit at the same time to different recipients, then the switch will allow both to pass in parallel as the switch will normally only pass a message to the specific client that is to receive it.
If a network adapter can work only in half duplex mode, and it receives a packet while it is transmitting, then the received packet is dropped and higher level recovery mechanisms will have to retransmit the dropped packet.
Wireless networks are half duplex, but although they can carrier sense they do not have the collision detection mechanisms, so they do not know that packets have collided. They must rely on higher level error recovery.
I hope this helps.