- SQL code is loaded into RAM for parsing during a hard parse, while a soft parse does not require reloading into RAM. - Excessive hard parsing can occur when the shared pool size is too small or queries contain non-reusable SQL statements without bind variables. - Using bind variables rather than concatenating values into the SQL statement allows for soft parsing rather than hard parsing, improving performance by reducing parsing time and memory usage.