I think the point of him putting the two is for the debounce mechanism.
No. It was cluelessness.
In my case, if I use FALLING would a code like this work?
No. Any variable shared between an ISR and any other function needs to be declared volatile.
Serial.print(speed,DEC);
Print the speed to 10 decimal places. Is that really reasonable?