I can't say there is *one* way that works all the time. The major things I consider about recommending a solution are complexity, cost and consistency. I'm heading out of town till Wednesday of next week doing some Sport Fishing at a tournament - I'll followup more when I come back!
If you are a hardcore, savvy user and don't mind running a cmdline occasionally, I would recommend some solutions over others. If you're interested in having this learn dynamically, you're in for fun because convergence doesn't happen fast - I don't care what your using OSPF, RIP, etc. I may suggest the whole issue of connectivity can be done one of the following ways:
Hardware:
Find at least two means of connecting (DSL, Cable, Fixed Microwave, Satellite, etc) that are ethernet connectible. Get a router that does the following:
Three 10/100 Ethernet ports
NAT/IP Filtering
Static IP addressing
Some means of Static Routing w/ precedence.
Here's what you could do with a Cisco 2600 series with 3 interfaces. Connect one to your internal network (may need to be translated to private IP space), one ISP A, and one to ISP B. If you're really anal, make ISP A and B different with two different backbone providers and put everypiece of modem/router equipment on a UPS rated for 10 minutes at the VA drawn.

You'll need to set the router to push static routes to the faster of the two with the precedence of the route set lower for the backup (it will route traffic according to prioity set in the config file in Cisco IOS).
Software:
Find at least two means of connecting (DSL, Cable, Fixed Microwave, Satellite, etc) that are ethernet connectible. This option may actually allow dial-out since you can have a modem in the computer running RRAS.
Windows 2000 Server
Static IP addressing for the server NICs
You can do the same type of configuration as with the Cisco. It is a necessity to have three NICs in the box, and it can translate via NAT the internal space to the outer two with RRAS. I might suggest you harden this box a bit (RAID, extra fans, redundant power, etc) since it's really the link to the outside world. Now you might squeal about running RRAS and Windows 2K, but I have had no issues when the box is setup right and kept clean. Other solutions may be available (*nix) but mileage varies.
I'm a tad biased to hardware, but this is coming from a person dealing with MS for about a decade - I know what it can and can't do.
Might I suggest keep an internal modem to dial out on when all else fails...
Just my two cents... Have fun while I'm gone!
Skinner
Microsoft Certified Systems Engineer (W2K, NT4) by day for grins
Cook, and general handyman by night.