It depends. A combination of ATM and cash on hand is always a good idea. Those who stay longer term need the US$ to purchase stuff like domestic airtix etc. Also credit cards charge up to 3% for forex, which means you're paying 5% (because as Phil said, you have to pay for the CC fees for the vendor too!) or more (depending on what xchange rate/% fee they give you) to use your credit card in Indo. It adds up if you spend a lot in Indo.
Besides the fees, you also run the risk of fraudulent cloning, then suddenly you can't use your credit card (so it's good to have a few) while in a foreign place. My card was cloned at 6* hotel in Bali, and transactions charged over the course of the next month, just so you think it's only the little places that do it. Happens more often than I thought!
ATMs are convenient in the big towns, BUT withdrawl limit is Rp 1-3mil per transaction because of the foreign card. A few ATMs allow Rp10mil but they are only in the big cities and few and far between. The fees are usually $2-5 per transaction depending on which bank ATM you use, plus whatever your bank charges. The further you go from the big population islands, the less likely you will have ATMs that use CIRRUS, STAR or PLUS etc at a convenient location. Places like the pearl farms now take CC, but artifact buying in the islands etc is all cash.
Do your biggest exchange in Bali as forex rates and availability drop in the more remote areas. Exchanging cash at certain reputable forex places can give you better rates than ATMs, if you know where to look. The problem is EVERY forex place promises to do so and many rip you off with commissions and counting tricks often fool the unsuspecting tourist. On the plus side, you can be assured of getting 100k Rp notes (largest note in Indo), whereas 100k ATMs aren't everywhere.
You get the best rates with $100/50 notes. The $100 notes have to be printed after 2000, because of some counterfeit ones in the 96 series.
How much to bring depends on what you want to do. Trip incidentals like baggage overweight and gratuities are easy to estimate. Domestic airline overweight charges are $2-3 a kg.
If you are doing a liveaboard, gratuities can be done in $US and even put on the CC if the boat processes that. But the staff get it once the company gets paid and it's often not the full amount because of fees etc. I usually tip in Rp. cash.
If you don't spend a lot and/or have a bank that complains about/won't check the $100 notes for 96 and before notes, then ATMs are easy. Just choose the 100k note machines for convenience sake but make sure you have smaller denominations when you hit the smaller islands as sometimes they don't have change for 100k. Save Rp150k for departure tax.