What is the difference between "set" logic, and "procedural" logic? When would you use each one and why?

Technical