Triggers are stored programs that are automatically executed in response to events like data manipulation language (DML) statements or database definition language (DDL) statements. They can be used for purposes like enforcing referential integrity, auditing, and event logging. The syntax to create a trigger includes keywords like BEFORE, AFTER, INSTEAD OF to specify when it should be executed in relation to a triggering statement. PL/SQL packages are used to group related logic, types, variables and subprograms. A package has a specification that declares its elements and a body that defines them. Packages provide a way to encapsulate and organize code.