What is the difference between Half duplex and Full duplex in Transmission mode?
Half duplex can not send and receive at the same time. It also has algorithms to detect and handle collisions (CSMA-CD). Think of it like a walkie talkie or a CB radio, only on a network.
Full duplex can send and receive at the same time. Think of it as a telephone.
One issue that can arise is sometimes you will see a 100 Mbps half duplex connection which should almost never happen. Since the 100 Mbps connection will most likely not be detecting collisions (it expects to be full duplex), it can be very very slow.
This normally happens when one side is hard set to 100/full and the other side is set to autonegotiate. The side that is set at auto will not be able to sense what the duplex is (because the other side is hard set) and use half duplex.
So, while you will see 10/half quite often on older equipment, be very very suspect if you see 100/half because you are probably looking at a duplex mismatch.
Half-duplex is used to describe communication where only... one side can talk at a time. Once one side has finished transmitting its data, the other side can respond. Only one node can talk at a time. If both try to talk at the same time, a collision will occur on the network. As you can understand, this method of communication is not very efficient and requires more time to send/receive larger amounts of data. Older networks used to work in half-duplex mode, due to the constraints of the network medium (coax cable) and hardware equipment (hubs).
Full-duplex is used to describe communication where both sides are able to send and receive data at the same time. In these cases, there is no danger of a collision and therefore the transfer of data is completed much faster.
Half duplex means that transmission is possible in both directions, but only one of the devices can successfully transmit at a time.
Full duplex means that transmission is possible in both directions at the same time.
But if you are asking on a networking site about full duplex and half duplex you are probably asking about the terms in the context of Ethernet. How these terms relate to Ethernet is a little more complex.
Originally Ethernet used a shared coaxial cable. This was half duplex by it's nature. Two devices transmitting at the same time would result in indecipherable garbage. This was known as a collision and Ethernet had mechanisms to deal with such collisions, both by checking if the medium was free before transmitting and by backing off and trying again after a random delay when collisions did happen.
Early twisted pair Ethernet networks were operationally similar. The twisted pair medium could support full duplex operation, but the dumb repeater hubs could not. So by default 10BASE-T operated in a mode where simultaneity transmission and reception was treated as a collision.
Later using switches (technically fast multi-port bridges) everywhere became a thing. Unlike dumb repeater hubs these switches could support full duplex operation. So a full duplex mode was introduced. In this mode the mechanisms for avoiding and detecting collisions are turned off and both sides simply transmit whenever they like.
Unfortunately the way Ethernet implemented full and half duplex modes made duplex mismatches especially nasty. The transmissions from the full duplex side to the half duplex side would often happen at the same time as the half duplex side was transmitting resulting in the detection of a collision and frequently not just a regular collision but a "late collision". The link would work fine for a test with the ping command, but as soon as significant data volumes started to flow the link would start dropping packets like crazy.
Nowadays we mostly don't have to worry too much about it. Auto-negotiation does the right thing if it's enabled everywhere, but if one end of the link is set to auto negotiate and the other is set to full duplex with no auto-negotiation a duplex mismatch results.