Se hai una variabile che è 1 e gli assegni 2 però come valore ha appunto 2 e non più uno...quindi in pratica il vecchio valore "sparisce"...invece nel setInterval il vecchio intervallo continua a venire eseguito, e se uno non ci pensa rischia di riempirsi di intervalli