System Verilog introduces several new control flow constructs compared to Verilog, including unique if, priority if, foreach loops, and enhanced for loops. It also adds tasks and functions with arguments that can be passed by value, reference, or name. System Verilog defines two types of blocks - sequential blocks that execute statements sequentially and parallel blocks like fork-join that execute statements concurrently. It introduces various timing controls like delays, events, and wait statements.