When talking about a particular food or meal, eat and have can function interchangeably most of the time. Of the two, have is the more versatile and generic word:
Let's start with your last example:
I'm eating pizza now. Let me call you back – I don't want my pizza getting cold.
I'm having pizza now. Let me call you back – I don't want my pizza getting cold.
I see no real difference in those two statements. I think I'd be more likely to use the first, but the second wouldn't jar my native ear.
Then your breakfast example:
I eat breakfast every day at 8 o'clock.
I have breakfast every day at 8 o'clock.
Once again, either one of those is okay, although the second sounds a little bit more formal for some reason. In its seventh definition for have, Macmillan mentions:
have (verb) [TRANSITIVE] [NEVER PASSIVE] to eat or drink something. This word is often used in polite offers and requests
- Can I have another piece of that delicious cake?
- Let me buy you a drink. What’ll you have?
- Why don’t you stay and have lunch with
us?
I’ll have (=used for requesting food or drink in a restaurant): I’ll have the roast beef, please.
There are a few places where the two words aren't interchangeable. The end of that definition gives one example; if I was ordering at a restaurant, I wouldn't say, "I'll eat the roast beef, please." That might be true, if that's what I'm ordering – but it's simply not idiomatic to say it that way.
Another clue is that have is always transitive. So, it's perfectly fine to say:
I'm starving – let's eat!
but you wouldn't be able to say:
I'm starving – let's have!
Here's one more odd case:
I'm hungry; let's have at that hamburger place.
I'm hungry; let's eat at that hamburger place.
In this case, we can't use have to mean eat, because we're not using the word transitively. We can fix that by saying:
I'm hungry; let's have hamburgers at that place.
However, the first is not necessarily grammatically incorrect, because we could be using the phrasal verb have at. NOTE: This would be a very informal usage of have at, but I give it a mention because it shows how complex and flexible English can be, especially when dealing with informal expressions and eating food. When I was in college, one of my roommates might have said:
I'm hungry; I think I hear hamburgers calling my name!
Best Answer
"cannot help but"/"can't help but"/"could not help but"/"couldn't help but" are examples of an idiom that is followed by an infinitive. In this case the infinitive is "eat": "I couldn't help but eat the cake". You can't use the past tense or other verb forms after "help but" in this idiom.
The Grammarphobia blog has written about this. Some usage guides say not to use "help but" in formal writing, but most people think it's fine. Examples they give include:
There are many other ways of using "help": "I couldn't help myself" on its own is another idiom, meaning "I was unable to control myself". You can also use "I couldn't help eating", which means the same as "I couldn't help but eat" - which is confusing. So 2, 3, 4 are correct, but not 1.