Compare:
ありがとうせんせい
ありがとう先生
Japanese doesn't use spaces, so there is nothing to tell you where one word ends and another begins. That in mind, kanji becomes invaluable for quick reading and comprehension.
Another fun example
にわにはにわにわとりがいる。
That は is read as わ, making it niwaniwaniwaniwatorigairu
Yikes! Looks fairly nonsensical. At least until we use kanji, which makes it:
庭には二羽鶏がいる。
“There are two chickens in the garden.”
As for Katakana, well, it is a bit like upper and lower case in English. Not strictly necessary, but useful for emphasis, foreign words, and stylistic clarity.