Yep.
X Windows is a bit weird.
You have the X Server.
The X Server runs your hardware. It takes care of the keyboard, mouse, pointer, and stuff like that. It also takes care of your monitory display and such things.
By itself it's a ugly gray screen with a ugly X cursor and it can't do much more then let you wiggle the X around.
On top of that you have various "X Clients" that run on the X Server.
X Clients are just programs pretty much. They can be from any machine because X Windows is actually a network protocol, not a GUI. The X Server + various X Clients is the GUI. It's called network transparencies... If you have authentication setup, that is. Basicly you run the application on whatever computer you want and the display outputs itself on your desktop. And the X Server sends keyboard and mouse input back over the network to the application. Needless to say that this is a severe security issue and is disabled for the most part, but if you set it up you can use it. Most of the time you only run X Clients on your local computer, so it seems like it's like the Window's or Mac OS's GUI.
Just remember that X Clients can be from anywere, but are local most of the time. The X Server is always local. (unless your using VNC)
It's also multitasking and multiuser. You can have many users running X Clients off of one machine, so it's kind of like mainframe setup, were you have X terminals that only take care off the input/output and the main big machine runs all the applications.
That's not very common though. It's mostly used just like you would with MS Window's GUI.
The Window Manager is just a special sort of X Client. It's job is to manage windows... Like the Windows borders, the little buttons at the top, what happens when you click on a border, or drag a window. That sort of thing. Most also provide a menu of sorts like in a simple task bar or a menu if you middle/right/left click on the background.
Seems simple, but there are lots of variations. Common Window Managers include: Afterstep, blackbox, fluxbox, openbox, Icewm, Ratpoison, Window Maker, Sawfish, KWin, TWM, Lwm, Fvwm, and many others.
Now on that usually that's all you need. You can open up a couple xterms (like a dos window) or so and run all your applications from that.
Many people like doing that to get the most performance out of their computer, and reduce the "bloat". Plus all the title bars and fancy icons are useless if you don't use them or like them.
For other people you have Desktop Enviroments.
Desktop Enviroments are a collection of many different X Clients that include Window Managers, Email programs, simple games, graphical file managers, browsers, office productivity tools, developement tools, IDEs, configuration tools, and all sorts of other things.
These are selected and are designed to work together to form a cohesive enviroment for users to get their work and play done it. It's called a desktop enviroment because they hope to provide most everything a desktop user needs. They try to create a unified look and feel, so that users don't get confused and have to struggle to get things done.
They do nice things like keep track of programs to open up what file, give you pretty icons and all that happy BS. Nowadays they can react to 'events' even. Like when I plug in my Camera into my laptop I get a pop-up that asks me if I want to download my pictures from it.
The two biggies are KDE and Gnome. There are a few lighterwieght ones like XFCE or Afterstep, that only give a few things that a command line user might want for convience.
Most people end up realy personalizing things, though. KDE and Gnome are like the generic most corporate-friendly setup and they expect that you take it and customize it. Look up stuff about themes if your curious.