If you track your pace hiking one thing you discover is that a non-trivial break almost never pays off (presuming you're past a certain baseline fitness level). Unless you get lost.
I recently discovered I spent days cranking out unpleasant repetitive code when I should have used a different data model that would have allowed me to write a trivial generic solution.
I suppose this is an area where no heuristic is anywhere as good as having the experience to know the right answer in your specific situation.
I also think that it can be used as an excuse, during times when forcing yourself to work would lead to a better outcome.