I think the main one is overuse of Instead rules, and corresponding neglect of Check, Carry Out, etc. rules (a related but more venial sin is cramming everything an action does into a single rule rather than using check, report, before, after, etc. when it’d be helpful to do so).
I think Every Turn rules also get overused, and can cause problems if the author doesn’t take care/know how to make sure they all fire in the proper order.
It’s easy to just define new actions without checking whether there’s an existing action in the standard rules that would be a good fit.
One I still run afoul of is underusing “to say XX” and definition statements to prevent lots of copying and pasting of code (and then introducing bugs when I tweak some but not all instances of the code).
This is less a mistake then an oversight, but many newer authors don’t know about or underappreciate the usefulness of the IDE Index and the RULES and ACTIONS testing commands. I feel like getting comfortable with them helps me fix like 95% of my bugs.
Hopefully it’s clear that I’m primarily talking about stuff I struggled with (or still struggle with)! But I don’t think these are too atypical.