EXECUTE IMMEDIATE is used to prepare and execute a dynamic SQL statement in a single step. It's ideal for statements that won't be repeatedly executed. EXEC SQL is for static SQL embedded in host programs, while DECLARE CURSOR and OPEN are for cursor operations.