All the large internet companies (Facebook, Google, etc) have tons of servers running to host their data. However, where do these server centers get their unlimited bandwidth? This is just baffling me.
The companies you mentioned mostly own and operate their own datacenters, most of which have redundant connections to multiple carriers.
They pay for their internet connections, just like you and everyone else.
When a website starts getting very large you pay for the amount of Mbps the site uses or Gbps in some cases. The companies you mention all have there own datacenters and will have multiple carriers ie. Level3, Telefónica...
If you have a look at a datacenter's specifications you can see what they use. For example https://www.softlayer.com/about/network/carriers