Gostaria de citar a documentação oficial do CSS | MDN para referência futura ao examinar as diferenças entre cada um:
INICIAL
A palavra-chave CSS inicial aplica o valor inicial de uma propriedade a um elemento. É permitido em todas as propriedades CSS e faz com que o elemento para o qual está especificado use o valor inicial da propriedade.
Portanto, de acordo com seu exemplo:
em {
color:initial;
}
<p style="color:red!important">
this text is red
<em>
this text is in the initial color (e.g. black)
</em>
this is red again
</p>
Observe como a propriedade inicial retém a propriedade inicialcolor
do elemento.
NÃO DEFINIDO
A palavra-chave CSS não definida é a combinação das palavras-chave inicial e herdada. Como essas duas outras palavras-chave em todo o CSS, ele pode ser aplicado a qualquer propriedade CSS, incluindo a abreviação de CSS all. Esta palavra-chave redefine a propriedade para seu valor herdado se ela herdar de seu pai ou para seu valor inicial se não for. Em outras palavras, ela se comporta como a palavra-chave herdada no primeiro caso e como a palavra-chave inicial no segundo caso.
Portanto, de acordo com seu exemplo:
em {
color:unset;
}
<p style="color:red!important">
this text is red
<em>
this text's color has been unset (e.g. red)
</em>
this is red again
</p>
Observe como a propriedade unset simplesmente redefine a color
propriedade do elemento.
EM CONCLUSÃO
A ideia é bastante direta, mas na prática eu aconselharia cautela ao lidar com compatibilidade entre navegadores para ambas as propriedades CSS ... isso é até hoje.