는/은 and 가/이 both are used for the subject of a sentence but 는/은 introduces a topic or a subject whereas 가/이 identifies a subject.
In addition to their differences already explored above, here is another big difference between the two particles.
The topic particle, 는/은, is used in cases when we make a general or factual statement whereas 가/이 is not.
- 치타는 빠르다 = Cheetah is fast
- 치타는 느리다 = Cheetah is slow (This would be a wrong statement)
However, if you visited a zoo and saw a cheetah who seems to move very slowly, you might say,
- 치타가 느리다 = (That) cheetah is slow
So the identifier particle, 가/이, indicates a certain person or thing that the speaker and listener know or are aware of. In this case, it would be that cheetah in the zoo.
Here is another example,
- 바다는 푸르다 = The sea is blue
- 바다는 까맣다 = The sea is black (In general, this is a wrong statement.)
But say, you saw the sea at night and you may exclaim,
- 바다가 까맣다! = The sea is black!
The sea in this sentence is identified as a particular sea at night, and both the speaker and listener know which sea is being talked about. This is not a general statement. Therefore the identifier particle, 가/이, is used in this case.
Of course, 바다가 푸르다 is also perfectly acceptable. However, the difference is that the sea in this sentence is also a particular sea that is known by both the speaker and the listener.
- 바다는 푸르다 = The sea is blue (A general statement)
- 바다가 푸르다 = The sea is blue (The sea is identified and known by the speaker and listener)
It's similar to the way articles are used in English.
- An apple is red = 사과는 빨갛다 (A general or factual statement about an apple)
- The apple is red = 사과가 빨갛다 (A particular apple that the speaker identifies and indicates to the listener)