I run Debian Unstable. I like it, I like apt-get. I like everything being pre-compiled and supported by one entity. There are a huge number of packaged software supported by Debian.
But it's definately not for everybody. For a business environment Debian Stable, Suse, or Redhat would be much more perferable.
Actually I like most Linux distros.
As for XGL... It's not mainstream yet. There are lots of little details and things that need to be fixed.. and in the form that Suse is running; that XGLX (Novell's X server) is probably never going to be mainstream, and neither is AIGLX from the Fedora/Redhat guys. Although I expect that most of us will have the option of running either of these things by year's end.
Thing is is that there is a lot of work that is needed to be put into X windows to modernize it. The OpenGL-accelerated-ness is just one part of it. The first big step was getting it 'modularized'.. which X.org accomplished with the X11R7.0 release. This allows quite a bit of work to take place as it divides the code base up into more easily delt with chunks.
So there now has to be a lot of work done to improve all of it's peices and clean out years and years of cruft.
The thing about XGLX or AIGLX is that the require you to already have a running X server.. So your basicly running the old 2-d accelerated X server to have the 3-d accelerated X server stuff ran on top of that.
The goal is to have a completely standalone X server running in userspace. Just another full screen OpenGL application. XeGL is suppose to be the ultimate goal.. at this time. However it requires that work be done on the current generation of 3d X servers in order to get all the details ironed out. The core.. XGL.. will need to be improved and will benifit all of this. Once that is done that should simplify video driver development for Linux considurably. Performance should improve as should the stability and quality of the fully accelerated drivers aviable for Linux. (both free and propriatory)... And since it's based on a open and standardized API (OpenGL) it should improve portability and performance on other operating systems also.
There is a lot of work that needs to be done besides that.
Stuff like new core X libraries. Getting rid of XLib and all that very very crusty stuff associated with that. Then build a shim that makes sure that backward compatability with older programs is kept.
see
http://xcb.freedesktop.org/wiki/
Another example of a improvement that needs to be done is the configuration and hotplug support. Right now with Linux you have very good hotplug support. Support for USB devices, harddrives, firewire, etc etc. Even PCI express cards and cpus... Even memory hotplug is being worked on. (obviously only usefull on hardware that supports those features) We now have HAL for a hardware abstraction layer, sysfs and Dbus that allows a good way to communicate to user-land applications on changes elseware on the system..
The unfortunately reality right now is that X Windows can't use any of that. Any sort of configuration change you want to be done with X needs to be done pretty much manually. Also it can't realy react to changes and needs to be restarted. Having multiple mice with multiple different features (like say a pressure sensitivity Wacom tablet and then be able to use all the buttons on a fancy logitech mouse) is difficult to manage and keep working properly even though all those features are supported by Linux and various applications.
All of that gives a very 'Welcome to Windows 98' feel to the Linux desktop. So that needs to be fixed. And with the modular X code base it should be able to be fixed independant from everything else going on. (so you see why that is important)
Eventually you should be able to plug a 2nd monitor into your video card and have the screen detected and setup fairly automaticly and your desktop expanded to fit the new dimensions. You should be able to end up running 3d accelerated games and graphics from a remote server on a lan or even on the internet as about as fast as you can as if they were installed on the computer your running at the time. You should be able to eventually move applications from computer to computer by simply dragging them or sending them to other screens. Send the output of running applications to other users even. All sorts of crazy stuff like that. But that's a very long way off at this point.
Some weird things you can muck around with right now.. You can combine DMX with Chromium to do insane stuff like render a real-time 3d application accross many multiple screens and many multiple computers...
http://dmx.sourceforge.net/
http://chromium.sourceforge.net/
That stuff is obviously not mainstream or even part of X.org.. but it's possible and is used in high-end visualization clusters used in government/educational/research type stuff. Here you can find people mucking around with a cluster like that for some fun. Playing Quake3 accross 24 monitors on 12 Linux machines.
http://www.plastk.net/ (and people think Nvidia SLI is cool...)
So that is combining multiple Linux boxes into one big display.. But it's possible to go the other way also..
Divide a single Linux box into multiple displays.
This article explains how to use standard video cards and usb mouse/keyboard stuff to turn a make a single Linux box support multiple GUI users simultaniously.. In this example... 6 users on a single machine.
http://linuxgazette.net/124/smith.html
Unfortunately it wasn't especially stable. This capability is very new with the latest release from X.org.