Try this video out.
The tl;dw, or if you flat out don't like his voice, is basically this:
Gold.
There are 3 lanes, and with minions, there are 3 consistent streams of gold. Logic dictates that you want at least one champion on any one stream of gold. This creates our 3 laners.
There is a 4th stream of gold however, the Jungle. Along with promoting the Summoner Spell Smite for Epic Monsters, this is why we have a single Jungler, to take advantage of the gold in the Jungle.
The last player however is left without a stream. I forgot if they mention this or not in the video but some important context is necessary here: Because a lot of stats in League are multiplicative, champions scale exponentially into the late game. This means that two equally farmed half developed champions are actually weaker in combined strength relative to one fully farmed fully developed champion and one starved one. This means that the last guy is destined to find a niche without gold: this is our support.
There are basically three spots our Support can go now: Mid lane (roaming), side lane, or Jungle (ganking assist/counter jungle). It's inefficient to leave the support rotating around mid however because, as the shortest lane, the support has the least amount of pressure here because the enemy mid laner is naturally safe (it's literally the shortest distance lane from where the creeps meet to his tower). Due to how jungle experience works, it's hard to make a secondary Jungler out of the support, so we throw them into a side lane. Generally, we like the support in the bot lane because this gives us the best control over Dragon in the early game (more players in that general side of the map).
Now, why do we have a carry mid, carry bot, and tanky top? Remember what I said about mid lane being the naturally most safe lane. This means it's so much easier to afford putting a champ with bad defenses in mid lane, for example a burst carry (Mages and Assassins). Top lane however does not have this safety, so the champions who go top lane are usually chosen to go top because they are good at surviving when things get rough (ergo, tanky tops). Bot lane however is protected by a support. It's harder to put a Burst Carry in bot lane however because Burst also depends on the level of your champion; something inhibited by a support. On the other hand however, DPS Carries mostly only have to worry about gold. Because of this, we tend to put a DPS based carry in bot (ADCs).
I really do suggest watching the video, it really does justice on this explanation.