It's always the worst time for brain lag. There are no good times.
Are you maybe suffering from too many interrupts? Or would rather start a new project than continue with the existing ones? Some thing *do* take an eternity to do, but to go all motivational poster here, eternity passes one minute at a time.
A way to deal (that works for me), is the timed slog.
First, set yourself a realistic number of hours for work today. Not what you *should* do, but what makes you think, "I can do this". Start at a time that allows you to be finished in time for dinner. Put a "do not disturb" sign on the door, switch off phone(s) and internet, put on music (or an audio book), put a piece of notepaper on a free part of the desk, set an alarm clock to 90 minutes (or whatever is a good time slice for you). Take the *top* item from the heap. (Bad idea to work on a backlog from the bottom.) Work on it for 90 minutes straight. If you feel like continuing after that time, do so. If not, pick up the notepaper and write down what is blocking the project. Sometimes you are just missing something. Sometimes you find that you have spent all the time thinking "this *should* be done differently", or, as you write, "this is no use". Maybe estimate your progress. Then re-set the clock, pick up the second item off the top of the heap, continue. When your alloted work time is done, stop (unless you are on a roll). If you want to continue with something *not* on top of the heap, do it. It's dessert.
Think about the blocking issues after dinner, but before you are tired. (Tired = panicky, panicky = bad.) With some luck you will have an idea about how to solve the issues the next morning. If not, at least you got something done, even if you hated it. That's what the time limit is for. Continue.
If your heap grows too fast to be grinded down with this strategy, you have to curb heap development. That's a completely different problem.
If your heap refuses to be worked down from the top, there might be dependencies in there, or tasks may be spread over several heap-items. Make a list of items on the heap, group as needed, determine dependencies, chose one at the bottom of a chain, and use that as your starting point. Strike items from the list in a happy colour as you go along.
Good luck!