Many open-source projects do one build a day when they take all the code that's been checked in over the past 24 hours and attempt to build it into a single release. If a project is under active, aggressive development by lots of developers and does only a single daily build, it's common for those builds to fail unless everyone literally drops everything and bends over backwards for a day or three to MAKE it work. They're called "nightlies" because they tend to get built late at night... after everyone has finished for the day.
The main purpose of them is to keep individual authors from allowing their own sub-projects to diverge so far away from the main code base that the main code base can no longer compile and build. To give a real-world example, this actually happened to Struts in early 2001. Basically, all the lead developers had their own areas of special interest, so they made their changes and compiled them against the jarfile from the last 1.0 release of Struts. The problem was, developer A's code built and ran fine... on *HIS PC*. Ditto, for the code of developers B, C, D, and E. Unfortunately, the moment you tried combining the code from two or more of them, things rapidly went down in flames, and you could barely get *anything* to compile due to all the broken cross-dependencies.
Put another way, the general goal of daily builds is to make everyone aware whenever something causes a build to break, so the developers can fix it before the problem becomes so catastrophically bad, it becomes necessary to start pulling out a meat cleaver and just hack away new code to get the common code back into a state where it can build.