What is SQL/PSM and how does it differ from other versions of SQL?
PSM is just an addition to the standard SQL language. It's the part that adds procedural extensions: IF, WHILE, ... all structures that are also met in other procedural languages.

From Wikipedia, about SQL/PSM:
"SQL/PSM stands for Structured Query Language/Persistent Stored Modules, and was developed by the American National Standards Institute (ANSI) as an extension to SQL.1 It was first adopted in 1996,[2] and it provides procedural programmability in addition to the querying commands of SQL.

The SQL/PSM extension is defined by ISO/IEC 9075-4:2003. SQL/PSM standardizes procedural extensions for SQL, including flow of control, condition handling, statement condition signals and resignals, cursors and local variables, and assignment of expressions to variables and parameters. In addition, SQL/PSM formalizes declaration and maintenance of persistent database language routines (e.g., "stored procedures")."

In SQL Server the native implementation is called T-SQL stored procedures and triggers, in Oracle it's PL-SQL.