Потому что это совершенно разные функции, которые не имеют никакого отношения друг к другу.
Но еще со времен палеолита по похапешным скриптам кочуют плоды не приходящего в сознание индусского гения - функции "очистки" входящих параметров, куда набито всё, что по мнению автора имеет хоть какое-то отношение к безопасности.
И при всем при этом, для входящих параметров ни одна из этих функций не нужна.
- strip_tags это какой-то рудимент. Сейчас практически не используется.
- real_escape_string это вообще совсем из другой оперы. к HTML никакого отношения не имеет. Причем в своей области тоже рудимент и применяться не должна.
- htmlspecialchars единственная осмысленная функция из всех перечилсенных. но должна применяться не для "очистки" при вводе, а при выводе пользовательских данных в HTML