Here's a brief introduction of は vs が.
が marks the subject ("subject marker") of a sentence like in other languages.
- くるまが くる: A car is coming. (no special connotation but a simple factual statement)
は is "topic marker", but it often doubles up as the subject of a sentence as well. When the subject is marked with は, it has the connotation of expounding it, drawing the listener's attention to say more about it.
- わたしは せいとです: I am a student. (a nuance of a new discourse on わたし with more to come)
は can also start a compound sentence which employs a full [subject+predicate] clause.
- わたしは せが たかい: As for me, my stature is high (describes わたし using a full clause せが たかい)
(わたし: topic as well as subject of main clause, せ: subject of subordinate clause)
To say the same thing in English, one would use "As for me, ..." which starts to talk about "me". So we can say が brings focus to the noun it marks, while は directs attention to what comes after it.
は is often used to make a statement of contrast.
- かれは がっこうへ いったが わたしは いえに きた: He went to school but I came home.
The topic and subject marker can also work together to form a sub-main compound statement.
- かれが きた とき わたしは ねていた. When he came, I was sleeping.
(typical subordinate and main clause arrangement: が in sub-clause, は in main)
In a discourse, が tends to introduce a new subject, which corresponds to the use of indefinite article "a" in English. は statement(s) then says more about the new subject, as one would do using the definite article "the" in English.
1. 昨晩火事が起きた: A fire broke out last night. (が corresponds to "A")
2. その火は大きな被害をもたらした: The fire caused a great damage. (は to "The")
(#1 introduces a brand new subject, a fire, and #2 gives more detail about it)
So one can say は takes the center stage, and が has a supporting role.