I wonder about an app that just has phone numbers and a short description of hotels. If there are 50,000 hotels in the US, and you store 1K worth of data, that's only 50M. You could keep that on a phone no problem.
Often it's because the Hotels don't have an proper direct booking procedure in place and getting a direct booking is a hassle for them.
In many countries though they are not even allowed by Booking to give a cheaper price which shows the power they have.
You'd think they'd be a bit more willing to take peoples' money
So you ring the hotel and the person who answers, if they’re worth their salt, tells you there’s only one room left / there’s a big convention on in town / everywhere else is likely fully booked out, and closes the sale.