Just as people mileage run to get redeemable miles and higher elite status, there are many people who mattress run to get the same with hotel programs. Maybe you wanted to take advantage of Hyatt's Faster Free Nights to redeem at some exotic Hyatt property by taking a few stays at a $50 a night Hyatt Place near your home. Maybe you need a few more points that a $50 a night rate can get you so you can have your week-long vacation in Bali at the Intercontinental Bali. Maybe you are just trying to get to the next level so you can get your suite upgrades for an upcoming long trip.
Or maybe your reason for staying at a local hotel is not even related to status, but instead for a actual need, like renovations at home, special treat with your significant other, or just wanting to stay closer to where you are having a night on the town so you don't have to worry about driving 30 minutes after drinking heavily. Whatever the reason, there are legitimate reasons for people to stay at a hotel in their home city. However, there are some hotels that are now instituting a no locals policy because of the problems they have had with some local residents in the past.
I do understand that there are some locals that are more inclined to cause trouble in a local hotel compared to guests traveling from out of town. However they also risk alienating some of their loyal local customers who can develop a great relationship with the property, and bring ideas that other properties are using back home without all of the management brandwashing. This sort of policy makes it so that I am inclined to avoid the Homewood Suites, Hampton Inn, and Holiday Inn Express in Sacramento, just because they do not want good local citizens staying in the hotel. Blanket policies never work, and if there really is a fear, you could easily increase the amount of the hold, with a noise violation fee for difficult or disruptive guests.