Regarding "why vs what"... I love both kinds of code comments! But the useless code comments are the ones that are literally pointless, like describing a name prop as "the name". Is it the full name? Where does it come from? Where is it used? Why does it exist???????
The "what" comments are only useful when they describe some bizarre third-party API / SDK and contain a direct link to the correct section of the docs.