What is the purpose of using a "frame delay"? e.g Delay Node with "0" second time

proper time might be when your object depends on another, and you don’t know when another object is loaded and initialized. It might be loaded and initialized after your first object. Then you need to wait for the second frame.