Block detection, or more specifically the ability of the software to detect the p[presence of a train in any given section of track, is critical to any computer-controlled layout.
The reason is simple: knowing where trains are is fundamental if a computer is to make decisions about what to tell a train to do. If it doesn't know where a train is, it can't tell it to move somewhere else.
We solve this problem by splitting our layout into a number of sections, or blocks. Each is longer than the length of our longest train, so every train can move into every block and stop there if necessary without impeding a train in any other block.
Our software detects trains in specific blocks by sensing the current that every locomotive draws through the track, even when it isn't moving. Each block's wiring passes through a device (in our case the Digitrax BDL 168) which then sends out an occupancy message across the system bus to alert other devices that a train is present. This includes the control software, which can then issue other commands based upon this occupancy knowledge.
Occupancy, or block, detection is the eyes and ears of computer control.