No difference in meaning and sense. Have is a variant of eat in this expression and a bit informal.
Have also denotes action:
Have breakfast, have lunch, have dinner etc.
Have tea, have a cigarette, have cold drinks etc.
Have a bath, have a nap, have a bath, have a shower, have a try etc.
Hope this helps a bit.