IN accetta un elenco o parametri da cercare, FIND_IN_SET accetta un parametro stringa contenente un elenco separato da virgole:
SELECT 1 IN (1, 2, 3, 4)
SELECT FIND_IN_SET(1, '1,2,3,4')
Se provi ad applicare IN in una stringa separata da virgole, lo tratterà come un singolo parametro e lo abbinerà nel suo insieme:
SELECT 1 IN ('1,2,3,4')
Naturalmente, la stringa '1' non è uguale alla stringa '1,2,3,4' quindi la query sopra restituisce false.