なぜ then を置けるようにしたかは、おそらく、「Rubyの作者である まつもとゆきひろ さんがそうしたいと思ったから」というのが正解かと思います。
仮に then のような区切りがなく、if 式 処理 だと、どこまでが (条件)式で、どこからが処理が紛らわしくなります。Rubyのifに仮にthen(や改行、セミコロン)が不要だった場合、たとえば下記のようなスクリプトはあいまいになるか、少なくとも非常に読みにくくなります。
Rubyの場合関数呼び出しの括弧が省力できるので、以下かもしれないし、
Ruby
1if a == b(c) then ...
以下かもしれません。
Ruby
1if a == b then c() ...
上記のような書き方が許容できるような文法は作れるかもしれませんが、こんな文法を作る意味がないですよね。Ruby処理系が対応できたとしても、人間にとって非常に読みにくくなるので。
なので、Rubyのifの場合、式と処理の間には、then、セミコロン(;)、改行のいずれか(あるいは複数)を置くようにしたのです。
では、なぜ複数の書き方ができるようにしたか・・・これは前述のように、まつもとゆきひろさんがそうしたかったから、と言うしかありません。なので、悩んでも仕方ない、というのが回答です。