Why People say to do it: When you have a villager that moves out of your town without getting adopted, it goes into what people refer to as 'the void'.
Basically, there's a good chance that when someone visits another person's town, they can get that villager that went into the void. The only way someone can't get a villager from the void is if they have 10 villagers. Personally it's happened to me 3 times total, but I don't have many people visit my town, either.
Now, people say visiting someone with 10 villagers clears your void, but this is debatable- still, it's the only known method that has a chance of working.
they say if a villager moves out and nobody adopts them from you then they are "in the void" which i guess is stored in the game's cache. if you then visit somebody, receive a visitor, or random streetpass, the other person can receive the voided villager as a move-in for their town if they have openings. they say that your void clears after this, even if you visit somebody with no open villager slots. (i'm not sure if you can have multiple villagers "in the void" and if so, whether they all clear out or not after a streetpass). i think there are threads out there explaining all the variables involved. i'm not sure how long a moved-out villager remains in the cache/void.
you can clear your void by visiting a full town (10 villagers). this doesn't guarantee no one will get your voided villagers, but it does make it much less likely.