I’ve found that booking a hotel in advance is usually the way to go, especially if you have specific places in mind. I remember once when I was traveling to Singapore, I was planning on walking in to Mercure Hotel because I didn’t think it would be too busy, but when I got there, they were fully booked. I ended up scrambling to find a last-minute option, and the price was much higher than I would’ve paid if I’d booked earlier.
Booking in advance also helps you lock in better rates, and it gives you peace of mind knowing you have a spot waiting for you. The only time I walk in is if I’m not sure of my travel plans, but even then, I try to check availability online first.