Before 2010, the ATM was the best source for least amount of fees - was easy to find a bank with less than 1% tacked on fees.
No more - now just like credit cards, most banks typically charge 3% currency conversion fee in addition to a fixed foreign ATM use fee.
For the infrequent traveler, any choice is fine - even with 3% costs plus fees you lose just 3-4 cents per dollar, so exchange cash (comparison shop before settling on a place), or use a credit card (no fee for Capital One, 3% for nearly all others), or use a ATM (0-3% fees) - whatever is more convenient.
Credit Cards: The Capital One credit cards do not yet charge any extra fees for credit card transactions. Now that the free ride on ATMs is history, credit cards may be a good deal even for smaller transactions of $20 or more, certainly credit cards are now the better choice for larger transactions such as hotel stays - no need to lug around too much cash. Other than Capital One, all other credit cards seem to charge at least 3% in fees.
See Foreign Exchange Fees Going Up for more details on both ATM and credit cards.
ATM: Daily limits are usually $400 to $500 and this depends both on the bank owning the ATM machine as well as the bank where the account is kept. And most banks charge a $2 fee or more for foreign ATM cards. Carry two ATM cards and have a backup plan since the likelihood of ATM card use denials is quite high.
Best option is to use ATM cards from credit unions or investment accounts such as E*Trade (0-1% or so actual fee charged) and they may also provide ATM fee refunds. This may end up being better than the so-called 0% conversion fee cards.