Our network isn't even all that big and we utilize this network design pattern. It just makes manageability easier. Scale-ability just completely goes away as an issue. And ultimately it becomes a little easier to grok what's going on in the network.
The general idea is that the network infrastructure uses OSPF (or IS-IS, or other sorts of IGP routing information), while "customer" routes are carried by BGP. Where "customer" there could be IP blocks at the edge of the network, routes from upstream providers, routes from 3rd party partners and VPNs. The result being that you can look at the source of the route...if its from an IGP, you know that its describing the internal network topology of your network, and if its a BGP route, you know its a "source" or "destination" network (at least from the perspective of your internal network).
We go so far as to have Quagga or other routing protocol implementations on some of our Linux servers...they're peering using eBGP to their upstream routers (typically 2), and inject routes for IP addresses on their loopback interfaces into BGP. Using BGP allows us to put a lot of policy enforcement on the edge routes to only allow the Linux servers to advertise certain specific IPs.
Overall this use case works extremely well, reliable and hugely scale-able. It does take a bit of mind-set change from typical Enterprise network design, but its well worth it, IMO.