I have been doing Crossfit for 4 years and I've noticed over this last year I have not improved very much.
Today I figured out why. When I am doing the workout and I feel I am too tired to continue, I stop and rest for a few seconds. This is not how one gets better.
What I should do, of course, is do at least one more rep. Always push myself to go one further or for a few more seconds.
My mental weakness stops now.