Booking on spot would give you advantage of Choosing by seeing, Online they all look lavish but the reality on ground is so different, And if you are a good negotiator you would get great deals.
On spot booking now a day could be an hazardous experience as all will approach you in once to stay in their respective hotels. So I think online booking is the best option and you can get discount + better security stay if you book online like from booking.com, oyo, make my trip and if you want to compare hotels to get lowest price then trivago is the best option