Our password hashing is too simplistic to achieve its purpose: protect clients from malicious servers, should they accidentally type another password (e.g. mail account).
The issue is that it's fully deterministic, making it doable to compute a rainbow table.
This hashes better, by using public-but-unpredictable knowledge, preventing rainbow tables from being efficiently computed.