Originally called SingleReleasePoint, but changed to this name because releasing is not the same as integrating. To release is about producing software that is ready for installation at a production machine. To integrate is to do a successful check-in in the shared source repository, in which success means the source fully compiles and all AutomatedTests pass.
Is this one of the ExtremeProgramming practices?
Using CVS (ConcurrentVersionsSystem), a SingleReleasePoint is a GoodThing, but a SingleIntegrationPoint is totally unnecessary. A BuildMachine? is usually necessary for DailyBuild or ContinuousIntegration (shouldn't it be called ContinuousBuild? instead?).
A BuildMachine? should build the software after any check-in. There are many tools to do AutomatedBuild?s.
A common technique is to number builds incrementally so that any build number is a successful build. I prefer to have good builds and build breaks. BuildNumbers? are free.