CruiseControl.NET is a good choice that we've used in-house a few times; it's free, and it comes with a desktop app that clearly shows you when people are breaking the build.
There's also Pulse, which is extremely well featured and has a spiffy web interface. It's comes with a cost, however, as you need a license to run it per build server.
We use our CI servers to build our code whenever anyone makes a commit, which is the standard use case - but all of our game assets are set up to be built by our CI servers, and we're about to hook up daily disc builds, so that our QA team has an ISO build ready to test every morning.
It saves a lot of programmer time (invariably, it's always a programmer that does this stuff) in having to manually build code/assets/discs all the time.