Thats right! I agree 100% with that Mike! no rule should be followed blindly, context should be in place and we need to evaluate tradeoffs, thats why we still need humans to develop code, there got to be some reasoning done.
Even when someone sees let's say a code smells in the code, it is possible that it is better to keep that code smell there, rather than to refactor it, if that means more complex code or is just not worth it for any other reason.
The important thing is to recognise these things and be conscious of the tradeoffs and if that means going against any "rule" then great! but some reasoning has been done and to make a conscious decision.