This is one of the most beautiful threads in the language. The old root means to throw, to cast, tied to יָד, the hand. To give thanks, in this picture, is to throw out your hands toward the one you praise, a gesture before it is a word. So the same letters give you the biblical 'to hurl' and the everyday תּוֹדָה, 'thank you'. The same root names Yehuda, Judah, 'the praised one', and behind it the word Yehudi, Jew. Every word is verified against pealim, niqqud included.
The same root runs through the verb system. Each binyan is a voice: it bends the one idea into active, passive, causative or reciprocal. Tap to hear.
Here the binyanim split one gesture two ways. The pa'al and pi'el keep the literal throw (the pi'el especially for hurling stones). The hif'il לְהוֹדוֹת takes the same outward motion of the hand and turns it into praise and thanks, and, by a related sense, into admitting or acknowledging. No passive partners are in daily use.
Same root letters, different noun moulds (mishkalim). The mould tells you the function: who does it, the act of doing it, or the thing produced.
Strip the prefixes, suffixes and vowels. Three consonants remain, and the meaning lives there.