Slow changing dimension is computer speak for something that changes over time, but not very much. Google it.
In the code you posted the only variable from CURR_CUSTOMER that matter are the ones that are used by the INDEX referenced in the KEY= option of the MODIFY statement and the one used to replace the value of eff_to_date. The reason for this is that when the MODIFY statement finds a match it reads in the observation. So all of the variables that are in sdata.latest_customer will have any values that might have been there from CURR_CUSTOMERS replaced by the values just read in from sdata.latest_customer. So the IF statement is the only statement before the REPLACE statement that could make any changes to anything before it gets re-written to sdata.latest_customer.