I work at an all-Mac school district, with my school having 300 Macs alone. We have 8 laptop carts with 30 MacBooks each, 2 computer labs with roughly 20 iMacs each, 1 laptop or workstation for each staff and faculty, and we're piloting a 1:1 laptop program with about 30 students enrolled in the program. Here is a list of what I use to get the job done:
1 Server with OS X Server (preferably 10.6.)
1 24 port gigabit switch
NetRestore (you don't need this if you have 10.6 Server.)
Apple Remote Desktop Software
It's straight forward, there are lots of very easy to follow guides online. You can pick this up even if you know nothing about Macs at all. Basically you set up your server for NetBoot. Your clients will boot off the server, then block copy an image to their HDD. You can do this via NetRestore Helper which makes a simple-to-use GUI, or, if you have 10.6 Server, all of NetRestore's functionality is now apart of 10.6's NetBoot utility. You can also do it via CLI.
You can use shell scripts to automate tasks. They can be set to run before the computer is imaged (partitioning the HDD, for example) or after it has been imaged (setting the sharing name, joining a domain, setting up printers, or installing additional software.)
Apple Remote Desktop will allow you remotely manage each computer. You can do asset management, updates, software installs, etc. Coupled with ARD Server on the Server itself, you can automate these tasks. Similar to Active Directory.
If your organization has invested in LANDesk and/or Altiris, both will take advantage of an OS X Server and streamline the process. You'll be able to do all the aforementioned via both LANDesk and Altiris; they basically just relay commands to the OS X Server. Both integrate the process pretty well. I don't know about Norton Ghost.
If you're using Multicast IP and have a gigabit switch, you can image batches of 20 computers (or more, depending on the switch) in 30 minute intervals. This varies depending on how big your images are, of course. Target Disk Mode via FireWire is a great way to image 1 off machines or to get data off failing hardware. Prep time for such a set up is about 2 hours (power, ethernet, setup, etc.)
Also, remember that's it's UNIX. You can do everything I just mentioned via command line if you're a keyboard junkie.
Here're some indispensable links to help you get started:
http://www.bombich.com/
http://www.macenterprise.org/
http://www.wazmac.com/
Keep in mind that the hardware is more expensive, but I've found the support to be a lot easier than Windows. Cost savings is in the support of the machines. There are also no client access license fees if bound to OS X Server directly instead of ActiveDirectory.