There are situations where 이/가 and 은/는 makes a big difference, as well as those in which either one can be used.
In some simple sentences like your examples, the difference is not significant - it's just a small nuance difference.
The nuance is like these, exaggerating it a little.
1. 식당은 어디에 있어요? (I might know some other businesses here, but as for the restaurant) where is it?
2. 식당이 어디에 있어요? (I'm just interested in finding the restaurant) where is it?
3. 식당 어디에 있어요? (not much nuance. it's closer to #2 than #1)
In general, 은/는(the topic marker) is used when you explain something as the main topic.
이/가 on the other hand tends to supply a specific information to help with something more important.
1. 나는 무역회사에서 일한다 = I work for a trading company (The sentence is about 나, "I", so 는).
2. 내가 일하는 회사는 꽤 크다 = The company I work for is quite big (The sentences is about 회사, not 나(내가)).
In #2, the speaker's focus is on the company(회사) he works for, so he uses 는 for that. 나(내가) is in the sub-clause 내가 일하는 which modifies 회사. When the noun or pronoun has such a supporting role of providing necessary information, generally 이/가 is the right choice.
- 누가 이 유리창을 깼어? = Who broke this window?.
- 영철이가 깼어요. = 영철 did.
The topic is the broken window, not the boy 영철. 영철 appears as part of a specific information in the more important topic of the broken window. So 가 is used.
In the above two examples, using 은/는 in place of 가 will make them sound very weird.
Note however that this is a big subject with a lot of different usage cases. You should expect to learn them as they come along in the course of learning the language.