This has always been a challenge for me since I never did the CCNA courses or other practical courses. However, I have realized that most people who do the tutorials on the internet and even official cisco documentation is either extremely poor or too technical to understand the basics so here goes with my explanation which I have tested.
Why would you want VLANS (Virtual LANS)?
Well for me, it basically comes down to "broadcast domains". Essentially, this just means that you don't want a flat network because flat networks have too much broadcast data such as DHCP and so forth. This essentially affects the way your ip schema works because its hard to assign an ip to a specific building (however this is not the only reason but this was my reason). Anyways. so let's say you having a building called Building A and you want the computers in that building to have a specific ip scheme such as 10.0.2.x / 255.255.255.0 and then you have a building B which needs to have 10.0.3.x / 255.255.255.0. Essentially, you would want to assign VLANS so that the traffic stays within each building (this of course is just my example, since VLANS can be used at multiple locations - I'm just making it simple).
Why would you want InterVLAN Routing?
So in order for building A to be able to talk to Building B, intervlan switch to switch routing would need to occur (or is the easiest solution for off site metro-E infrastructure) because the communication would happen at the Layer 3 (IP layer) instead of Layer 2 which isn't very smart to route traffic. So now, the switch at Building A would be set to a different ip scheme, like example 10.1.0.1 / 255.255.255.0 on VLAN 100 while Building B's switch would be 10.1.0.1 / 255.255.255.0 on VLAN 100. This allows the 2 switches to communicate via VLAN 100. So you would then enable ip routing to ensure that Building A on VLAN2 can go through VLAN100 to reach Building B on VLAN3. This is referred to as intervlan routing but includes switch-to-switch configuration. This is apparently different from trunking - don't ask me why per say. Also, in order for computers on in building 1 (VLAN 2) to be able to know how to get to Building 3 (VLAN 3), the switch at building 1 would have to have a route to the switch at building 2. For example, if it the destination is therefore 10.0.3.x which means it has to go to building 2, then the switch would have a record as such with the gateway of building 2's switch which is 10.1.0.2 and vice versa must happen at switch 2 to complete the "cycle" for duplex communication. If you put a route on one switch and don't put it on the other switch, then only simplex communication will occur in which case pings won't work etc.
This ended up being complicated but read it through a few times