What is the exact difference between the particles が and は?


I understand that が is meant to mark the subject and that は is the particle
placed after the topic, but still after a heck ton of research, I haven't been
able to truly comprehend the meaning of both these particles, and in
particular, the difference between the subject and the topic of a sentence.
For example, I understand why you would place は after 私 in a sentence like,
"私は卵を食べた", but what if there is a sentence like "today, I will eat fish",
would you translate that as "kyo wa, watashi wa sakana wo tabemasu" (I know
that usually "わたし" is omitted from the sentence, but for other instances, I
keep it. But is "kyo" the subject? Please explain to me!

