Totally disagree..
You should always make a customer sign a service agreement with your terms and conditions on, personally i make any residential sign to agree to my terms, this means i can guarantee a minimum amount of revenue from them, and they won't mess you around after you have spent time with them quoting and also carrying out a first clean ( which i always charge a premium for) then a minimum number of consecutive visits after that.
Also things like getting prior notification of builders works and things like that, if you are behind the schedule its simple, you put a clause in stating that the agreed schedule may fall behind sometimes due to bad weather etc.
It means they take you seriously as a business from day one, which is the kinda customer you want really otherwise if you like being walked over go ahead with a verbal agreement.
As for commercial work - you must be nuts if you don't have a proper service agreement in place, with payment terms, cleaning schedule, complaints procedures, health & saftey compliance, contract duration etc. etc.