Most of the time, I have to do extra hours of work to get it completed. Otherwise, it's hard get chance to revisit again unless it's a critical feature or bug.
Another strategy is, just like what you mentioned, once we are stuck at somewhere for more than 4 hours, we have to move to other tasks, give it up temporarily and later on when we come back, maybe things changed or mind changed, it's no longer that hard any more.