In addition to Faizan's answer of giving them as sacrifices to be spared by the White Walkers, you also have to consider that Craster was sleeping with his own daughters, likely for his enjoyment (and less for theirs) and they were also doing all their work for him. So new daughters simply mean more workers and more "company", while a son is not really of use to him. And it is clear that Craster isn't really a man to shed tears for his dying kin.
Rather on the contrary, a son could actually be a danger to him if he grows up and decides to revolt against his father's cruelty to his sisters. Craster has conditioned his daughters into obedience to him (and even more so in a medieval world where women were even less likely to revolt against their patriarch, even if they actually would have been able to do so in unison). A son might be harder to keep "under control" and as said, wouldn't have any use for Craster, since he doesn't really need a fighter, due to his arrangement with the Crows. It would merely mean a disruptance to the nice little life he's built himself there.
So I think even without the White Walkers a son probably wouldn't have a long life at Craster's Keep.