blocks that are accepted by the non-delayed node have been accepted at least once.
The delyed only returns blocks when they are irreversible (confirmed by ~2/3 of all witnesses) .. The delay is usually about 30 blocks which is 90 seconds.
I wanted to do some development against Bitshares and have tried running a delayed node. It looks like it keeps its own blockchain and uses a reasonable amount of memory and cpu resources. As a developer, couldn't I just use the witness node and only take action against blocks with at least 30 confirmations? If so, that would save me HDD, memory, and cpu resources.