Uma pergunta difícil de responder definitivamente. O padrão C ++ declara:
O texto do programa é mantido em unidades chamadas arquivos de origem nesta Norma. Um arquivo de origem, juntamente com todos os cabeçalhos (17.4.1.2) e os arquivos de origem incluídos (16.2) por meio da diretiva de pré-processamento #include, menos as linhas de origem ignoradas por qualquer uma das diretivas de pré-processamento de inclusão condicional (16.1), é chamada de unidade de tradução. [Nota: nem todos os programas C ++ devem ser traduzidos ao mesmo tempo. ]
Portanto, para a maioria das intenções e propósitos, uma unidade de tradução é um único arquivo de origem C ++ e o cabeçalho ou outros arquivos incluídos pelo mecanismo #include do pré-processador.
Em relação às suas outras perguntas:
2) Quando devo considerar usá-lo ao programar com C ++
Você não pode deixar de considerá-lo - as unidades de tradução são a base de um programa C ++.
3) Se estiver relacionado apenas ao C ++, ou pode ser usado com outras linguagens de programação
Outras línguas têm conceitos semelhantes, mas sua semântica será sutilmente diferente. A maioria dos outros idiomas não usa um pré-processador, por exemplo.