Respostas:
De acordo com o padrão de hierarquia de sistemas de arquivos (FHS) :
/home : User home directories (optional)
/root : Home directory for the root user (optional)
O diretório inicial de um usuário não raiz típico seria /home/$USER. /roottambém é especial porque (em muitas distros) /rooté legível apenas para root ( 700), mas o diretório inicial de um usuário normal também tem acesso de leitura a outros ( 755).
Em caso de problemas durante a inicialização (resultando em outros volumes não sendo montados), isso ajuda a root(que é usado para logins de reparo) ter seu diretório inicial disponível. /homegeralmente está em um volume diferente.
/home é onde todos os usuários geralmente recebem seus diretórios pessoais criados.
Exemplos:
/home/marcelo
/home/joe
O /homevezes podem residir em um sistema de arquivos diferente (isto é, um disco rígido separado, uma outra partição no mesmo disco rígido ou mesmo rede montada) do que o /(sistema de arquivos de sistema principal).
Por esse motivo (e provavelmente também por outros motivos), o diretório inicial do usuário raiz normalmente está em um diretório separado que reside no sistema de arquivos do sistema principal, sem arriscar as chances de não ser montado devido à conectividade de rede ou outros problemas.
Tudo isso é configurável e, teoricamente, você também pode ter a base da raiz do sistema /home, por exemplo /home/root, mas isso não é recomendado.
O ~símbolo é apenas algo que o shell substitui pelo diretório inicial do usuário atual. Não é, por si só, um caminho válido.