Summing up, different people have different preferences, different ways of working, and different experiences for this.
Once someone is established, it can be easier to have more reliable advanced bookings, but even then some people prefer to work on a 'on the day' basis. For one thing, it means you don't feel you have to work on any day you don't want to. Others prefer to know when there is a demand and work around that.