Not for TODO items, but org-mode specifically has the RESET_CHECK_BOXES property which will reset the checkboxes when a repeating task goes back to it's start state (eg, habits). TODO items can be repeating and there is a way to make it so that a parent heading will switch to DONE when all sub-entries are done (and that parent heading can be repeating as well).
Just to add my two cents to the conversation, it's a personal call between using checkboxes versus sub-heading TODO items, but I typically use checkboxes for physical items (packing lists) or actions with a duration that is sub-minute (eg, areas of vehicle to check for weekly inspection).