日本語の文字表記の体系は世界でも最も複雑だと言っても過言ではなく、ご質問は、日本語の授業でもよく聞かれることの一つです。日本語史がご専門の方にお答えいただくほうがいいかもしれませんが、私は授業で、おおよそ以下のようなことを説明しています。
・世界には文字のない言語のほうが多く、日本語も5世紀ごろまでは文字がなかったと思われる。
・5世紀ごろに漢字が日本に伝わり、やがて、花を「波奈」と書くというように、日本語に(意味と関係なく)音の似た漢字を当てて、日本語の音を漢字で表すようになった。(「万葉仮名」と言います。)
・やがて平安時代中期(1000年前ぐらい前)になって、仮名ができた。「ひらがな」は、「万葉仮名」(=漢字)を崩して書くようになってできたもの(例:「安」→「あ」)。また、「カタカナ」は、万葉仮名の一部を独立させたもの(例:「阿」→「ア」。(ひらがなやカタカナの元になった漢字を示すウェブサイトがいろいろあります。)
・漢字やカタカナは長い間、公文書や学術などで多く使われてきた。それに対し、ひらがなは文学など、より日常的なことを表すことに多く使われた。同時に、仮名を使って書かれた日本語の文章に漢字を混ぜて書く文体(和漢混交文)も少しずつ発達してきた。
まあ、だいたいこのようなことを学生の興味に応じて説明しています。
ついでに言いますと、なぜ一つの漢字に音読みと訓読みがあるのか、ということも、この流れでよく説明します。特に訓読みの説明はなかなか面倒ですよね。漢語(中国語から借りてきた音読みの単語)と意味の近い和語(もともと日本語にある単語、やまとことば)の音を当てているということで、英語に置き換えれば book を「ほん」と読むようなことを昔の日本人が発明したということですね。日本の国語の授業では漢文を習いますが、日本語の成り立ちを理解することにも役立ちます。昔の日本人は中国古典を読むために大変な努力をして、その過程で訓点(返り点や読み仮名)をつけて読む、漢文訓読法を発明しました。その過程で訓読みも発達し、次第に整理されてきました。しかし、今でも「変える」「換える」「代える」「替える」のように、一つの読み方がいくつもの漢字に対応する「同訓異字」がたくさんあります。こんなふうに複数の文字体系を持ち、複数の読み方を体系的に組み合わせて、大量に使いこなしている言語は、世界中を見渡してもほかにないと思います。