Well, let first explain couple of terms when dealing with Duplex and Speed settings on Cisco Switches. These settings determine what will be the status of the link when an end device is connected to switchport. You will have to keep the settings on NIC of end device in sync with switchport config to make sure connection is error free and work.
Static/Manual Settings: You can set the switch ports (10/100) manually to varying speed and duplex settings. This can be done manually by entering the speed and duplex as in the example below.
Auto Neigotiate: You can set the speed and duplex settings of the switchpor to auto negotiate. When you enable auto negotiate, the end device and switch send signals on the medium to each other and agree to set the link to 10 or 100 Mbps. This will finish the first task but for duplex to work, in auto negotiate mode, they will exhchange information with each other.
Now imagine one side is set statically while the other side is set to auto, what wil happen. In this scenario one device is saying OK, I am set to 100/Full and dont need to speak to anyone about this as my admin told me to be link this, while the other end will be trying to communicate to figure out what duplex to set but wouldnt get back anything.
To address this there are some default beviours of the switch port. For example if the NIC is set to 100/Full and switchport is set to auto, it will not be able to negotiate duplex information and will default back to 100 Mbps/Half Duplex. Now for Cisco switches it becomes a bit different when they are operating at 1000 Mbps, in this case it support only full dulpex and default is also 1000/Full.
Here is an excelent Cisco document which gives you all possible scenarios of speed and duplex for Cisco Switches and End Device NIC.