When you need to test semantic equality between things that do not necessarily have mathematical equality. ``` Examples 5 IS 5 --> TRUE 5 IS 6 --> FALSE 5 IS NULL --> FALSE NULL == NULL --> FALSE (not mathematically equal, but ) NULL IS NULL --> TRUE (they are semantically equivalent) 5 == TRUE --> FALSE 5 IS TRUE --> TRUE ```