Ce n'mysql_real_escape_string() ne sont que addslashes() ne l'est pas?

Pourquoi avons-nous besoin d'une base de fonctions spécifiques comme mysql_real_escape_string()? Que peut-il faire que addslashes() ne l'est pas?

Ignore pour le moment la meilleure alternative de requêtes paramétrées, est une webapp qui utilise addslashes() exclusivement toujours vulnérable à l'injection SQL, et si oui, comment?