TikZ/PGF was designed to be usable with LaTeX, ConTeXt, and Plain TeX, and therefore cannot rely on certain things existing that might be considered "standard" by a LaTeX-only package. Therefore, PGF (re)defines a load of stuff that it knows it will use from the LaTeX core so that it can use it with ConTeXt and Plain TeX. These tend to be macros with the prefix pgfutil@
. We thus have \pgfutil@empty
, \pgfutil@firstofone
, and so forth.
If you are writing something for general use that depends on TikZ/PGF then it is good practice to use these versions instead of the LaTeX ones since then whatever you are writing is more likely to work in the different engines - or even if you aren't bothered about it, then it makes it easier for someone else to adapt it. However, in your own private LaTeX code then it doesn't matter.