Couple of general thoughts I had over this general question :
(1) During Windows shutdown, most services will generate atleast one event on terminating. Sometimes each service may have many events. Eg "NTP Service terminating", "Printer Driver got signal to terminate", "Printer Driver is flushing the queue" "Printer Driver Exitting". These Events are "objects" and are slow to create and destroy, which adds up to shutdown time.
During shutdown on unix, most processes simply print a line on the console or /var/log/messages and exit. Much faster.
(2) During shutdown, Windows GUI will save a lot of state information, most of which is stored as objects.
CLI on unix has almost nothing to save, except for the shell history file. Most state information is in simple text files. Much faster.
(3) Windows may cache many things and these caches have to be flushed to FileSystem on shutdown.
Caches may be handled better on unix, with periodic "fsync" executions, on better FileSystems. Much faster.
(4) Windows may give each process (or service) a lot more time to exit, and hung processes may stay around longer until forcibly terminated.
Unix may give less time to each process (or service) to exit, and most processes may respond quickly. Much faster.
If there is a specific situation, then there may be a specific correct answer, otherwise, we will have to go with vague, inaccurate, simplistic generalizations.