I actually wrote an answer to similar question 2 days ago when someone else asked about it. I myself have struggled with the difference as well, it seems difficult for foreign speakers to understand. I just copy/paste my answer 2 days ago below.
In principal, if you would point your finger at the person you like you would say "that person is good(-natured)" (meaning: not the others) --> 이/그/저 사람은 좋아요 (I believe in Korean you may want to be careful as it may actually implicate that the others are not good(-natured), as it the particle is used to emphasis or to compare).
If there is only one person, or you do not want to put emphasis or compare, you would use 이/그/저 사람이 좋아요.
Please note that if you are trying to say "I like that person" you would say 이 사람을 좋아해요.
Copy/paste from previous answer:
Hi, I am not native speaker, but the way I have learned is that 은/는 is always used in comparison to something or to emphasise the subject, or to point something out.
In your examples:
If you mean to say that river is Hangang river(e.g. others are not) you would say: 저강은 한강이야
If you would say as a general remark that the river is Hangang river, you would say: 저강이 한강이야
If you would be surrounded by buildings and one is much taller and you want to emphasise (comparative) you could say 그 빌딩은 높다
But if it is a general remark (e.g. it is the only tall building and no comparison is needed) you likely would say 빌딩이 높다
The same for the example of the park. If you walk through central park in NYC and you would like to say it is large, you could say 공원이 넓다, but if you would see a map of different parks and one is larger than the others 그 공원은 넓다 would be better.
So 이/가 are the most used subject markers, and 은/는 are used to put emphasis on something, such as in a comparison or when pointing something out.
Hope it helps. Maybe a native speaker can help verify my understanding ^^