Are there any distinct benefits to going with Xserve hardware and OS X over standard Dell / IBM servers running Windows Server (2003 or 2008), are there any tasks they are reputed to be better at?
If you have a lot of mac infrastructure then running OS X Server on the back-end will allow you to do things with less friction. For example setting up Open Directory on the Mac server is a piece of cake, and your Mac clients will bind to it easily. If you are up for more pain, you certainly can run a different directory server and bind clients to it, but the integration will not be as good. (For example, it'll be more difficult use MCX to manage your clients.)
I'd say Open Directory is the biggest reason to use a Mac server. Using Podcast Producer, Quicktime Streaming, running WebObjects, having a Mac Software Update Server, serving files with AFP, NetBooting Mac clients, or running an Xgrid controller are all other reasons to use Mac OS X Server over an alternative.
It will run your normal services - DHCP, DNS, SMB, Firewall, HTTP, MySQL, etc -- and with a nice interface to boot, but I don't see a compelling reason to use it for that over a similar server that is virus resistant. [Mind you, Apple has made some mention of saying, "See, it is so easy, you don't need an IT department". While I tend to disagree, a technical user ought to be able to get basic services running, and there might be a place for that.]
You don't strictly need an XServe, heck OS X Server will run fine on a laptop, and we opted for some nice Mac Pros. The XServe's advantages are that it has some additional monitoring capabilities and fits in a rack.
Also, it is usual most cost effective to buy the base unit and upgrade RAM and drive space from another vendor.
Over Windows - client licences - you pay once for OSX Server and it'll support as many users using whatever services you like all for that one price - no client licences.
Over Linux - ease of use, pretty much everything is setup via a GUI
It's not cheap and it's not a powerful/fast as other options but for a small multi-service (web/mail/db etc) office they're pretty easy to use.
The advantage of an Xserve is that it's a 1U rack mountable Mac with substantially better monitoring features. (The Lights Out Management can be great)
The advantages of OS X Server are completely seperate from that of an Xserve and what it can do better/worse than Windows Server 200x entirely depends on what you want the server to do. If you have Mac clients that can leverage items such as Open Directory (which can be used in tandem with Active Directory) for authentication, MCX for managing settings on computers, NetBoot for imaging and having emergency network boot partitions, among others. Additionally the vast majority of Linux based applications you may want to run will run in OS X as well - my Cacti / Nagios / Ntop server is an older Power Mac G5 running OS X Server. Lastly, you never have to worry about client licensing - you either have 10 users or unlimited users. (And with the new version shipping in September they've dropped the price of the unlimited user version to the 10 user price and removed the 10 user edition)
I have around a dozen first gen XServes sitting in a heap. I'm hoping that the design has improved since then, but here's what are wrong with mine. Someone please reply and let me know what the current status is.
No video card
Only SSH or VNC in, which is fine until something breaks, then you've got to hook a serial cable up and pray that whatever you're connected to can do the ultra-fast port speed that the macs default to. You can change it to 9600, but every time you run a software update that involves those components, the setting goes back
No CD drives
The instructions for upgrading the OS literally have pictures of iPODs connected to the servers. Alternatively, you can boot the thing into firewire disk mode and install a new OS using a laptop and firewire cable.
Yes, I'm using this as a detriment. OS X has taken things that worked for decades in Unix and "fixed" them. I'm looking at you, dns resolution, user management, filesystem hierarchy and case sensitivity, and system initialization (among others).
Many great things are already named, but one thing is really important IMHO:
They handle the integration of Macs, Windows and Linux/Unix systems flawlessly and you don't have to worry about hidden files with the resource forks anymore. With Linux Samba, when I create a file with an ACL or a resource fork on a MacOS client, it creates a separate file with the filename prepended by a dot. that contains this info. If you move/rename this on a windows client, the resource fork gets lost, as Windows doesn't move the dot file along. This can create all kinds of problems with certain apps and is a major headache for Mac/Win integration. As this resource forks are part of the underlying HFS+ that is used on OS X server, you don't have to think about that anymore.