Timing is accurate only down to a granularity of at least $TimeUnit seconds.
Timing includes only CPU time spent in the Mathematica kernel. It does not include time spent in external processes connected via MathLink or otherwise. Nor does it include time spent in the Mathematica front end.
Timing[expr] includes only time spent in the evaluation of expr, and not, for example, in the formatting or printing of the result.
Timing should give accurate results on all operating systems where the running of processes is specifically scheduled by the operating system.
On certain computer systems with several CPUs the Mathematica kernel may sometimes spawn additional threads on different CPUs. On some operating systems, Timing may ignore these additional threads. On other operating systems, it may give the total time spent in all threads, which may exceed the result from AbsoluteTiming.
Timing[expr] may give different results on different occasions within a session. A typical reason is the use of internal system caches, which can be cleared with ClearSystemCache.