Ti*k*Z ist im Wesentlichen das "PR Department" von pgf, wie es percusse [hier](https://tex.stackexchange.com/a/125057/121799) ausdrückt. D.h., es gibt nichts, was Du mit Ti*k*Z machen kannst, das Du nicht auch mit pgf hinbekommst. Die Umkehrung gilt nicht. Allerdings ist Ti*k*Z viel benutzerfreundlicher. D.h. es bietet sich an, Ti*k*Z zu benutzen, so weit das geht, und dann, falls nötig, den Rest mit pgf zu erledigen. Ja, Und man kann die beiden "mischen", ganz einfach weil Ti*k*Z auf pgf basiert.
basiert. Dazu etwas mehr weiter unten. (Man kann auch pstricks und Ti*k*Z/pgf mischen, indem man beispielsweise ein `tikzpicture` in eine `\rnode` setzt, das hat aber andere Gründe.)
Wann muss man pgf verwenden? Das ist immer dann immer dann, wenn man selber ein "low-level" Element erstellen mag, das es so noch nicht gibt. Viele dieser Kommandos fangen mit `\pgfdeclare` an: ` \pgfdeclareplotmark`, ` \pgfdeclareshape`, `\pgfdeclaredecoration`, `\pgfdeclaremetadecoration`, `\pgfdeclarearrow` etc.) Die Syntax ist ein bisschen weniger gebräuchlich und tendenziell auch etwas umständlicher, aber direkter, was die codes schneller macht.
Was hat es mit dem "Mischen" auf sich? Hier ist ein möglicherweise dummes Beispiel. Wenn man einen Zylinder aus der Library `shape.geometric` einfärbt, gibt es standardmäßig nur die Optionen entweder die Wand und das Ende mit jeweils einer Farbe einzufärben, oder aber den gesamten Zylinder mit Gradienten auszufüllen. Alternativ kann man den Zylinder einfach komplett selber, d.h. ohne die Library, zeichnen, oder das Ende [später draufsetzen](https://tex.stackexchange.com/a/10707/121799). All das funktioniert wunderbar. Wenn man das jedoch in eine Node packen mag und nicht eigens eine neue shape deklarieren mag, kann man hier mischen.
\documentclass[tikz,border=3.14mm]{standalone}
\usetikzlibrary{shapes.geometric}
\begin{document}
\tikzset{cylinder end fill/.style={path picture={
\pgftransformshift{\centerpoint}%
\pgftransformrotate{\rotate}%
\pgfpathmoveto{\beforetop}%
\pgfpatharc{90}{-270}{\xradius and \yradius}%
\pgfpathclose
\pgfsetfillcolor{#1}%
\pgfusepath{fill}}
}}
\begin{tikzpicture}
\pgfmathsetmacro{\myaspect}{pi/4}
\node [draw,
shape=cylinder,
aspect=\myaspect,
minimum height=3cm,
minimum width=2cm,
rotate=20,
cylinder end fill=blue,
left color=blue!30,
right color=black,
middle color=blue!80,
shading angle=20,
font=\sffamily,
text width=pi*1cm,
text=white] {Hello world, ducks, koalas and marmots!};
\end{tikzpicture}
\end{document}
[![alt text][1]][1]
Ob es viele Situationen gibt, in denen das wirklich grosse Vorteile bringt, ist schwer zu sagen.
(Kein) Fazit. Ti*k*Z basiert auf/verwendet pgf. Für viele Anwendungen ist es nicht nötig, die etwas umständlichere pgf Syntax zu lernen. Und man macht m.E. nichts falsch, erst mal mit Ti*k*Z zu starten (man lernt da (da lernen die Meisten ja auch nicht Alles in den ersten 5 Minuten;-) und dann pgf dazu zu tun wenn immer es nötig ist oder die Dinge vereinfacht. Alles mit pgf zu machen ist möglich, aber m.E. auch etwas mühsam. Man wird da evtl. über kurz oder lang Macros schreiben, die Einem das Wiederholen etc. abnehmen, d.h. in gewisser Weise Ti*k*Z neu erfinden.
[1]: https://texwelt.de/wissen/upfiles/Screen_Shot_2018-09-17_at_5.39.06_PM.png