I don’t think in-line comments are necessary 90% of the time, the other 10% is usually due to setting up some kind of trickery or optimization to work around language or framework limitations, or if there’s approximately a bazillion ways to do something and you chose some odd way.
However, method/function comments are important. Any method that’s not really short, sweet, and self-explanatory probably needs to be commented with at least:
Any warnings or pre-conditions (i.e. “don’t use this in the recovery state or the world will end”), post-conditions (i.e. “parameters will not be modified”), any special non-obvious parameters (i.e. we know this int is called “date” but is it mmddyy? mmddyyyy? ddmmyyyy?), and the formatting and/or significance of the return value(s). Ideally it will also describe the function of the code.
However, I find that method and class comments should be left somewhat vague, in other words, not discuss implementation details. You really don’t want everybody worrying about the HOWs of your implementation unless it’s necessary. Nobody other than your supervisor should really care whether you used a linked list or array, “stores the data” is good enough and it keeps other people from using your code in a tricky way that makes it a pain if you find a good reason to change your implementation.
Of course, this changes in lower level code, all the way down to assembly, where code that’s REALLY basic in higher level languages may be several lines long. I don’t think it’s that out there in assembly to say “retrieve the string and modify the first character” if that’s going to be several instructions long (load, change, store, maybe update references), assembly is hard enough to read as it is.
ETA: To answer the OP directly, it’s not uncommon to learn new tricks, and coding isn’t always done on your best day. Sometimes you just want the damn thing to WORK, NOW. This can cause… problems, especially when you’ve been working on a completely different section of code for two months and forgot all the tiny little intricacies of that section that made you make those choices. It’s like reading a single paragraph of a poetry analysis, the interpretation may make sense right after you read the poem and all your reasoning leading up to that paragraph, but in isolation 5 months later it seems like inanity and insane logical leaps.