A very good and inexpensive place is Caliente, under the Spindrift hotel on the beach in the middle of town - Mexican food. A very popular place with a limited menu but excellent quality and portions is BCs, on the beach just south of Sunbreeze hotel. Noted especially for its Sunday lunch barbeques.
The cheapest place by far is the "Park", the open recreation area on the beach a little further north with it's Belizean-style fast food stands. Good and safe food at very low prices. For San Pedro, that is - nowhere here is as cheap as inland at San Ignacio, for example.