I think it is one of those 'correlation does not imply causation' type scenarios. Craster wants to dump his baby boys and, for whatever reason, The Others stay away. The Others may be staying away for any number of reasons (eg, they may be massing in another area to plan their attack on the south, or, Mance's huge band of freefolk may have attracted The Other's to that region instead).
It is just convenient for Craster to tell his women that their sacrifice is keeping The Others at bay. I doubt that Craster has some sort of contract with The Others saying that he will supply X number of baby boys per year and Y number of goats in order to keep The Others away. I'd say it is far more likely that wild animals are taking the babies, either that or their little bodies are buried under snowdrifts.
Jem's response is exactly what I wanted to say, worded much more succinctly than anything I could have written.