Good question. My guess is that since the game xor's my PID/SID with the poke's ID to see if it's going to be shiny or not, changing the PID by 3 will change 2 of the bits in my PID so that two of them don't give the correct result instead of 1 (just to make sure it isn't shiny I guess).Why by 3?
~Elite