その国の食べ物を楽しみに海外旅行をする人も多く、レストランなどで食事をする時に使い分けがしっかりできていると便利で、食事中の会話も弾むことと思います。
まずはfoodですが、一般的に食べ物全般をさして使われる単語で、料理や食べ物の表現で困ったらこれを使えば大体意味は通じるという、非常に便利な単語になっています。不可算名詞でJapanese foodやcat food,dog foodなど人の食べ物に限らず、動物のエサなど幅広く使うことができます。
そしてdishは調理をされ、盛り付けられた料理や食べ物のことを表現します。コース料理のmain dishや添え物のside dishなど、日本語でも聞き慣れた単語ではないでしょうか。
今まではお皿に盛られた料理を意味して使われることが多かったようですが、近年では料理の種類や盛り付け方も多岐に渡るようになったので、皿料理=dishという認識は無くなりつつあります。
最後にmealという単語ですが、非常に曖昧で使い方に困ることが多いです。一般的には料理というよりも食事という意味合いが強く、決まった時間に食べる朝食や昼食や夕食のことを意味します。また時間だけでは無く、一回の食事の量を表してmealを使用することもあり a light mealで軽食という意味で使われます。
上記の単語に似たような意味でcookingという単語がありますが、こちらの単語は料理をする行為や調理方法の意味合いで使われるので、ニュアンスの違いをよく覚えておきましょう。