Refusing cash is a good way to keep the riff raff out. People who don't have credit cards or even debit cards are higher risk people.
I remember being in a terrible hotel years ago. It was the "Tulsa Select" hotel in Tulsa. They had a sign at the front desk: "Cash payments not accepted from Tulsa residents".
The reason is that prostitutes, drug dealers, junkies and criminals in general use cash only. By requiring them to use a CC or debit card, you are requiring them to leave a record of their identity and of their stay. This means the hotel won't turn as easily into a seedy base of operations for low-lifes.