The problem with the school you are facing here is due to "going to school" being kind of a fixed expression. Both the sentence
Ich gehe zur Schule.
Ich gehe in die Schule.
I go to school.
as a general statement, you might even say such a sentence on a Sunday where there is no school.
If you want to get away from this sense of the sentence, there are differences though. In general, "in" is used as "into", where you actually enter something, while "zu" is used as "to", where you are going to some place (and maybe enter, who knows?). For example:
Ich gehe zum Supermarkt.
In this sentence, you are saying that you are heading to the supermarket, and of course it is assumed that you actually enter and do some shopping there. On the other hand
Ich gehe jetzt in den Supermarkt.
emphasizes the fact that you enter it, right this second. In general, "zu" is more common and "in" is only used when you really want to emphasize the "into".
And of course "in" and "zu" have lots of other meanings, that is only their use related to places. :)