A pseudo-classe :first-child serve para selecionar o primeiro elemento do elemento pai. Por exemplo: em uma lista ul, o ul li:first-child vai selecionar apenas o primeiro item da lista.
Essa pseudo-classe é muito utilizada quando precisamos que o primeiro elemento tenha/não tenha algum estilo referente aos demais elementos de uma sequência. Por exemplo, quando queremos elementos igualmente espaçados pela propriedade margin, mas não precisamos de margin no primeiro elemento.