Well macs are just plane slower is many respects.
In Linux I know for things like Gnome most of the startup time is the computer looking for and accessing files on the disk.
For instance you have all your user preferences stored in your home directory. These reside in .filename and .directoryname files and directories.
The . before the name makes them hidden.
So when you start up a new app, it looks for those files. Then if they don't find them then it makes all new preferences for itself by ready system defaults setup by whoever made the things.
And thats just one thing they do. Many apps try to find and access a few hundred small files in various locations and although it's small files it does take time because disk access is the slowest possible thing in your computer.
In Windows, buy comparision, all the information is stored in the registry.
There are trade offs. If I mess up my GUI enviroment I can just delete (after backing it up to a seperate directory, of course!) my .file associated with the messed up app it gets set back to defaults or If I have a home directory on a remote file server then the settings are the same were ever I go.
With Windows it's easier to write big system configuration utilities and access to configs is much quicker.
Other applications are just plain SLOW. Like OpenOffice for example. That thing is bloatware and takes forever to load up... but it's fairly fast and nice to use once it's running.
Another thing why it seems that Linux stuff takes a while to load up is because in Windows the system loads much of the libraries and code as it boots up and keeps that stuff in memory.
Both Linux and Windows use software libraries. These software libraries are in the form of .so files in linux and .dll files in Windows. The contain code and functions that can get loaded dynamicly up into applications so that application writers can save themselves the effort of having to re-write every little thing and it saves memory. These things form part of what is called a 'API' or application programming interface.
Windows is very complex, and Linux is relatively simple in comparision.
However windows is much more unified developement. So when Windows loads up most of the system libraries are pre-cached and loaded and all that.
That's why things like IE seem to be so small in Windows compared to Firefox sometimes. IE just uses buil-in windows stuff while Firefox/Mozilla loads up it's own stuff.
In Linux you have two major source of application libraries for GUI applications.
One is the GTK+ library, which is associated with Gnome and the other is the KDE stuff with mainly QT as the GUI library.
Gnome and KDE each have their own whole set of dependancies and have their own set of background applications that need to be running to support them.
For instance Gnome has gconfd to help manage system configurations. KDE has the artsd sound deamon for it's desktop.
So if your using a GTK app in KDE you have to load up not only all of the KDE libraries and the kde support apps, you have to also load up part of the GTK stuff to get the app to run.
All of this takes time to read from the disk.
Other the otherhand when I am using Gnome and have to run a KDE app it has to load up artsd and a bunch of other stuff, and have a bunch of errors (that don't realy matter to the actual app) because other KDE stuff isn't running.
That's why Linux is much more memory sensitive then Windows.
With Windows CPU speed matters more, but with Linux memory matters more.
So you can reduce the resource draw by Linux on your system by sticking to KDE apps in KDE and Gnome/GTK apps in Gnome.
Or using minimalist enviroments.
The plus side for Linux is that having this background stuff going on doesn't realy affect your system speed. Linux has very good scedualing capabilities and very good memory management so that when I run games it's not very important to have all this stuff turned off to run fast. Most of the time if your not using a app it doesn't use CPU time even when it's open. It's only a problem with stuff that has animations and such.
The other issue with having stuff in the background is that sound servers like artsd can seize control of your card and not allow other apps to access it if your sound card doesnt' support hardware mixing. (there are ways of setting up software mixing in Linux, but most of it's not setup by default. In windows your always using software mixing, I beleive, unless your using special drivers like asio or whatever)
Often I play games like ETF on one X server in single screen mode (alt-ctl-F8) but have my browser and command line irc stuff open in the dual screen mode on a different X server (alt-ctl-F8). As long as I don't have pages with flash animation on it doesn't have any effect on refresh rate as I play the actual game. This is something you can't do in Windows because Windows only allows one gui enviroment at a time.
I have a gig of ram though.
The only real downside is just the long load up times. most of that is just due to disk access. You can reduce disk access by having lots of memory and/or only using apps associated with your current enviroment.