Yes, most places take Visa/Mastercard. If you want to go to hole-in-the-wall local eateries or have street vendor food and tours, you'll need cash.
ATMs are available in San Pedro and major towns in Belize. The atm fees can be as high as $8 BZD, and that does not consider your bank foreign atm fees. We suggest getting as much as you can forsee using during your vacation out at one time to avoid these transaction fees.
Everyone prefers to be paid in cash USD - so it is good to bring cash with you.