SelectedItem = ele amarzena o objeto inteiro, por exemplo se vc tiver uma lista de classe Cliente o selecteditem tmb vai ser do tipo cliente porque ele seleciona o objeto inteiro.
SelectedValuePath = esse indica o caminho do que você quer selecionar, exemplo, vamos supor que vc tem um dictionary<int,string>, vc fez o binding do itemscontrol e esteja preenchido, para mostrar os valores da string vc colocaria DisplayMemberPath="Value"
que seria a string e quando você selecionar e tiver configurado o SelectedValuePath="Key" ele irá selecionar o Key que no caso seria o int.
SelectedValue = Usado em conjunto com SelectedValuePath, você faz o binding SelectedValue="Key" e usando o dictionary anterior vc iria setar um inteiro no binding.
basicamente isso.