The short answer is that they don’t. When casinos give no deposit bonuses, they are trying to market their site. They hope to attract new players who become regular players and eventually deposit money.