I can confirm that "<Room Number> New York New York, Las Vegas, Nevada 89109" doesn't work. They wanted the actual street address of the hotel. Which surprised me, as I'm used to big hotels being well-known enough that you can just write a room number, hotel name and city and have it arrive in the right place.
No, it almost certainly has to do with the local postal workers not wanting to put out the effort. If the zip code is there, it will usually be sent to that particular post office first.