Funkcji tej używasz gdy:
1. Dane pochodzą ze źródła nad którym nie masz bezpośrednio kontroli. Będą to formularze, dane z innych serwisów czy nawet dane systemowe.
2. Format danych może zawierać potencjalnie niebezpieczne znaki, innymi słowy: jeżeli wcześniej rzutujesz sobie jakąś zmienną na typ całkowity masz gwarancję tego, że jest bezpieczna. Podobnie, gdy zmienna najpierw przechodzi przez jakiś walidator, który przepuszcza tylko znaki a-z i 0-9.
Mimo wszystko z reguły za takie "pierdoły" odpowiedzialny jest jakiś automat, który filtruje wszystko co popadnie - bo generuje to marginalne obciążenie, a chroni Cię przed Tobą samym (zawsze możesz się zapomnieć).
I tak jak już Spawnm wspomniał - użyj PDO i
prepared statements.