Because they can give it to you for more.
If you put a price on your website you lose everyone who doesn't want to pay it, and you get that price from everyone else. There is no "perfect" price. You either undercharge on average or you lose some customers because they can't afford it.
If you make people call you can charge each person the exact amount that they are willing to pay.
I'm not saying it is "morally" optimal. But there are a bunch of legitimate reasons to try this strategy.