As far as I'm concerned (my teacher only speaks Korean properly, so he's hard to understand!), the difference depends on the noun. I mean, you need to know what noun goes with what particle, but I'm not sure if there are any rules.
Hope someone with broad Korean knowledge can help you!
From what I've learned 이/가 is the normal subject marker, while 은/는 is the 'theme' marker. You use 은/는 if you want to emphasize the subject, particularly (but not always) in comparison to others.
In reality it's hard to understand when to use 이/가 and when to use 은/는, I heard that even Koreans sometimes use them incorrectly.
From my own observation, there are two scenarios where you can safely use 은/는:
1. When comparing / contrasting(?)
- 저는 인도네시아에서 왔어요. 그 친구는 미국에서 왔어요. (I come from Indonesia. That friend comes from America.)
- 이거는 얼마예요? 저거는요? (How much is this? And that?)
2. When what supposed to be the object, must use 이/가 instead of 을/를.
- 수민씨는 여자친구가 있어요 (Sumin has a girlfriend)
Girlfriend is the object but 있다 can't take object, only subject.
I'm not a Korean and I'm still learning too so I might be dead wrong. Someone please correct me. Thank you.
One good example I've learned about the use of the topical/contrastive markers (은/는) is:
Both sentences (based on context, of course) would translate roughly to "You look pretty today." However, since the latter uses the contrastive marker (emphasizing "today"), the implication with that sentence is that the person you are talking to doesn't *normally* look pretty, but *today* she does. The first sentence doesn't have this implication.
Many times you will see 은/는 translated as "As for ..." (Pimsleur Korean does this quite often) which can help with understanding the implied difference in meaning. Using the above second example, you could say that actually means: "As for today, you look pretty." This makes the implied meaning a bit more obvious than simply translating it as: "You look pretty today."
Using stupoh's #2 example (which is more of a "topical" usage), you could translate that as: "As for Sumin, he has a girlfriend." In this case, girlfriend is the "subject" of the sentence (since the more literal translation is "girlfriend exists") and Sumin is the "topic" of the sentence.
The examples really helped ,but could you give me a sentence with a topic , subject and an object?Because I am still not completely sure ..I guess I am going to have to just except it ,like the Japanese が ..
Stupoh and Warp3 explained it very well, but in general it is not obvious to choose which one is proper. "은/는" and "가/이" are exchangeable a lot of times, with different nuances. For example, as Stupoh explained, "가을 하늘이 아름답다. (Autumn sky is beautiful.)" is a plain sentence. "가을 하늘은 아름답다." emphasizes the subject.