PHP ist eigentlich eine Script Sprache, also eine Sprache die nur dazu da ist um etwas schneller zu automatisieren als mit einem Programm. Anstatt ein großes dickes Programm zu schreiben, schreibt man lieber ein kleines schnelles Script.
Das besondere an der Script Sprache PHP ist jedoch, das sie ganz untypisch für Script Sprachen über viele Merkmale einer Programmiersprache z.B. die lagen Quellcodes verfügt. Darüberhinaus kann PHP nicht nur im HTTP Bereich eingesetzt werden sondern auch mithilfe der CMD unter Windows für diverse Aufgaben oder der Bash Shell in Linux.
Es kommt halt immer darauf an was man machen will, allerdings sollte man sich grundsätzlich immer vor Augen halten das Script Sprachen nur dazu da sind vorhandene Dinge zu vereinen oder sie etwas tun zu lassen. Will man gänzlich etwas neues erschaffen so muss man auf eine Programmiersprache zurückgreifen.
CSS ist eine "deklarative Stylesheet-Sprache" oder verständlicher, eine Design Sprache.
Mit CSS kann man im Web Bereich jede Farbe, Größe, Art, Liniendicke, Position usw. verändern / bestimmen. Natürlich kann man das auch in HTML direkt alles machen, jedoch wird CSS vorgezogen, da man hier eine externe Datei einfach nur mit dem CSS code vollschreiben kann und der eigentliche Quellcode nicht so lang wird / übersichtlich bleibt.
Anwendungen für CSS außerhalb des Web Bereichs fallen mir gerade leider nicht ein, aber ich meine mal etwas gelesen zu haben, wo beschrieben wurde wie man CSS mit C++ kombinieren kann und so seine Programme auch mit CSS formen kann.
Dabei bin ich mir jedoch nicht sicher.