Also if you think that you'd always remember why you did something, at some point in time, for all given circumstances, you haven't lived long enough.
> Maybe you and "most programmers" you know don't write decent code, but I can easily read others or my own code if its well written
You really aren't that good as you think. Your problem is you grossly overestimate your capabilities and achievements. We all were there, most of us outgrow it. You will too at some point.