None of the monolingual dictionaries I've looked up explains the difference. In everyday writings, you can just stick to 頂く when it's used as a normal verb, and (～て)いただく when it's used as a subsidiary verb (because subsidiary verbs are written in hiragana anyway).
戴く is not particularly difficult for native speakers, but this character was not even a 常用漢字 until 2010, and even after that いただく is not listed as a kun-reading of this kanji.
So 戴く is one of those "alternative kanji" you may consider using instead of common ones if you need to do some creative writings. Other such kanji include 唄う, 護る, 哭く, 往く and 訊く. There are hundreds of kanji that only basically novelists and lyricists use on a regular basis. I think 戴く tends to look older and more dignified.
Finally, there seem to be quite a few clickbait online articles which are saying there is some deep and essential difference. Please ignore low-quality articles which cite no authoritative references. Perhaps this explanation by ALC is worth reading.