「食べる」は have or eat ?

「食べる」ということに eat を使う方も多いのですが、
eat の代わりにhave を使うこともできます。

レストラン I ate udon for lunch today. (お昼にうどんを食べた)は、
レストラン I had udon for lunch today. とも言えます。

何か、eat(ate) とhave (had)で違いはあるのでしょうか?

結論をいうと、eat というよりhave を使った方ベターのようです。
特にビジネス系の会話では、eat は避けましょう。

eat は間違いではないのですが、have より少しラフな印象になります。

もし誰かから、What did you eat?

と聞かれると「え?」と内心思うこともあるそうですので、
What did you have? と聞いた方が良さそうです。

似たような動詞でdine「食事をする」もありますが、
これは普通の人の普通の会話では使いません。

高めのレストランは広告等に“fine dining”という言葉を使いますし、
食事をする場所を“dining room”といいますが、

“I will dine at 8 o’clock”

と言ってしまうと

pretentious and stuffy (大げさで勿体ぶった)に聞こえてしまいます。

ひらめきニュアンスを理解して動詞が使えるとよいですね