Why does freezing point decrease on adding impurities?
No, but good question. Freezing is a thermodynamic process. Nucleation is a kinetic process.  

Kinetic Explanation: At the freezing point of water, water wants to become ice (thermodynamically driven). In order for freezing to initiate and ice to form a temperature dependent minimum number of water molecules must arrange them selves in a crystal or else the particle will dissolve and no freezing will occur.  Impurities or containers with rough surfaces can help arrange and hold molecules which allows freezing to occur with a fewer number of molecules.

Thermodynamic Explanation:  Freezing is a thermodynamic process dictated by $\Delta G_f = 0 = \Delta H_f -T\Delta S_f$.  When water freezes it must dispel the impurities to form an ice crystal (reverse mixing). Since mixing increases entropy, this means that for water to freeze the negative change in entropy ($\Delta S_f$) is larger than that of pure water.  This must be compensated by a lower temperature ($T$) neglecting and differences in ethalphy. The enthalpy ($\Delta H_f$) of mixing will contribute as well to the freezing temperature of water and must be accounted for.  In the case of Sodium chloride though the enthalpy mixing is positive which would favor a higher melting point, but the entropy contribution is large and magnified by the temperature such that entropy dominates and reduces the temperature of freezing.  

If you look at the phase diagram of water and salt you will see that the mixing of the salt and water depresses the melting temperature due to the increased change in entropy from mixing water and salt to make brine from ice and salt.