1. That Insurance Stuff
You should make sure the company you are hiring is insured and licensed (and depending on where, bonded). While going with an uninsured company may be cheaper (they are not trying to cover overhead costs) it could come back to bite you in case something happens on the job site. A professional company might be slightly costlier, but they may be saving you money in the end.
2. Policies and Procedures
This one takes slightly more investigation on your part, you want to make sure the company you end up hiring is 1) legally abiding by the state laws 2) has written procedures in case something happens either to an employee or to the job site 30 is organized. You want to hire a company that obviously is legally abiding but also is well run. This helps ensure both you are hiring an actual company (legal stuff) but also (barring any character flaws and personality types) can help alleviate customer service headaches.
3. Quality, Reliability, and Consistency
Look for a company that has quality control operations in place (and actually uses them). While cleaning can be variable at times depending on weather, the cleaner, etc. you want to look for a company that continuously checks their work. This takes (minus the random occasion) that work out of your hands and gives you peace of mind that the company you hired is holding themselves accountable.
4. Community Ties
This one seems out of place in this list but I feel it is important. Community ties mean the company you are hiring is proud of the work they do, wants to be a force for positive change (whatever they may look like), and isn’t a fly by night operation. Ask if they are a member of the local Chamber of Commerce or volunteer/donate to local non-profits. It shows not only that they are a legitimate business but also shows that they care about the local community they are operating in.