What I remember is that the only point of Kanji is to distinguish words that have the same hiragana (homophones?) Did I misremember? If so, then what's the point of using Kanji when I could use hiragana? Shortcuts?
Do I have to use the kanji 何 instead of the hiragana なに ? (If depends on the situation, then please explain how.) From what I've seen なに points only to 何.
Do you have to use the kanji 何 for nani (なに 'what' ) ? And kanji vs hiragana in general
No, we don't use Kanji just to distinguish homophones. In fact, Japanese used Kanji before Hiragana and Katakana were invented. Honestly, once you master Kanji, it will be much easier to read a text with Kanji than one with only Hiragana.
You don't HAVE to. You never have to use Kanji. However, if you write mainly in Hiragana, it will be more difficult for Japanese people to read than if you were to use Kanji. So, by default you will want to use Kanji. But, there are some exceptions where a word is more commonly written using Hiragana. In this case it is better to use Hiragana although using the Kanji is also OK.
As for 何, both are used. I think the Kanji is more often used but you can use Hiragana no problem.