OK, first off a brief lecture:
BGP is a routing protocol - It advertises paths to reach your server (ideally over multiple connections through different providers and along different physical paths). BGP is the magic that finds a new way to a given part of the internet when someone drives a backhoe through a major fiber cable.
Pretty much every colocation facility you'll be hosting with runs BGP at their edge, and 99% of it is "automatic" - If it weren't the internet would be about as stable as a one-legged chair.
Similarly, most CoLo providers (at least any you want to deal with) use a fully switched network, usually divided into Access and Core layers. The better ones will offer you multiple paths to their core to protect you from an outage in the event of a switch or cable problem.
That bit of lecture out of the way, you seem to be asking a general question about redundancy, so I'll give you some general answers:
If you have one single datacenter you have a single point of failure (be it the internet, power, cooling, or human error, if the site you're at disappears from the internet for whatever reason it takes your servers with it).
Most CoLo companies have good redundancy in all of the things I just mentioned, but multiple failures are not unheard of (I was involved in one not that long ago that took an entire facility and all of its clients offline).
Having two sites with some kind of failover plan in place to switch between them does not eliminate the risk, but it mitigates it: Should your primary site blow up your secondary site can be brought on-line (or automatically bring itself on-line) to continue normal operations. With some engineering work this can often happen with very little disruption visible to your end users.
The catch is that you need to design your systems to handle failover, and that can be complex and difficult depending on exactly what you're trying to do (making a website that serves static pages redundant is easy -- making a transactional E-Commerce site redundant requires substantially more work).
As for single vendor versus multiple, If John Smith's Colocation Service has datacenters on different continents with different upstream providers & (obviously) different physical connectivity paths you won't get any more benefit out of hosting with John Smith in the US and Jane Jones in Europe (and your accounts payable people may well prefer to pay one big bill to an approved vendor rather than having to approve another vendor and pay two bills.
It can also be argued that larger providers with a multinational presence are likely to be more financially stable (not likely to go out of business and have your stuff disappear from the internet), and if they've been operating a multi-site environment for a while they'll have valuable experience doing it which is something that may be worth taking into account if you think you'll need help setting up your failover / redundancy.
It is an engineering axiom that risk cannot be eliminated: No matter how many machines you have and where you put them a nightmare scenario can always be conceived that will result in the system blowing up.
The things you need to consider are:
- The level of Real Risk (The cost of what could go wrong and the probability of it going wrong)
- The cost of mitigating that risk
- The cost of recovery if the risk materializes into an event
- Any contractual obligations you or your business have Re: uptime, etc.
Based on those factors you can decide how you want to design your environment and what level of redundancy makes the most sense for you.