I give my reports the option of canceling 1:1s if they want to, or have other priorities. Sometimes they just have a pressing deadline and would rather be coding so they can go home. Sometimes their kid is sick and their boss is the last person they would rather be talking to.
I try to avoid canceling 1:1s myself if possible, since it really sends the message that your boss doesn't care about you or your work, and if the boss doesn't care, why do the work?