A hard question to answer definitively. The C++ standard states:
The   text   of   the   program   is  kept   in   units   called source   files  in   this   International  Standard.  A   source   file
together   with   all   the   headers   (17.4.1.2)   and   source   files   included   (16.2)   via   the
preprocessing   directive         #include, less any source lines skipped by any of the
conditional inclusion (16.1)
preprocessing directives, is called a translation unit.   [Note: a C++
program need not all be translated at
the same time.   ]
So for most intents and purposes a translation unit is a single C++ source file and the header or other files it includes via the preprocessor #include mechanism.
Regarding your other questions:
- When should I consider using it
when programming with C++
 
You can't not use it - translation units are the basis of a C++ program.
- If it is related only to C++, or it
can be used with other programming
languages
 
Other languages have similar concepts, but their semantics will be subtly different. Most other languages don't use a preprocessor, for example.