Prompted by a discussion on the altdotnet yahoo group ... why I like broken builds ...
Some people try desperately to avoid breaking the build, by doing very infrequenet check ins (the number of broken builds per day drops dramatically, the time to fix each goes up though), or by trying to ensure their development environment is as close to the build environment as possible.
But a broken build is not a problem - it is an opportunity. A broken build allows you to identify a weakness, and to resolve it early.
The weakness might be in your architecture, it may be in your dependencies, or in your assumptions, or in your developer skill levels - but the whole point of having a continuous integration server is to fail fast and let you deal with the underlying problems rather than the specifics of the code you checked in.