We just got back from staying at Corona Del Mar hotel in the north end of San Pedro. The staff was very nice. They had free rum punch all day, and it was quite strong. Plus the continental breakfast was nice. They had fresh fruit (pineapple, mango, apples), muffins, cookies, cereal, coffee, tea, and some things I can't remember.
The only thing I didn't like was the bar next door, Lucifer's had an all night party one night and played really loud music until 4am. The other 2 nights were fine.
Don't forget to walk on the beach at night and look for land crabs and hermit crabs. My 7 year old boy loved it! So did I. (I asked a taxi driver what they call these types of crabs. He said "Um...crabs".) Also, look for hermit crabs at the edge of the water. We found some about 1/4 inch long, mostly blue with a little orange and black at the end of their legs and claws.
The people in Belize were very helpful. As soon as we got to a bus terminal in Belize City, a guard noticed we looked confused. He walked over to us to show us where to get more bus tickets, and that our bus was leaving in 5 minutes. Then he showed us exactly which bus was ours after we got our tickets.
When we got to Ambergris Caye, a taxi driver met us at the small airport. He gave us information about the hotels and restaurants and was really willing to help us. Then it started pouring rain. We ended up not taking a taxi yet, yet he was still friendly. We ran to a restaurant across from the airport with all our luggage, we hadn't made hotel reservations yet. An airplane captain in the restaurant overheard us talking to the waitress about hotels. He asked us what our price range was, and offered some suggestions. So we ended up staying at the Corona Del Mar at the north end of San Pedro.
The restaurants at the north end of town are more expensive. The ones at the south end, and downtown, are cheaper. There is also a good sized grocery store there.
If you want to rent a golf cart to get around, it's expensive, about $60US per day. A taxi from one end of town to the other is only $5US. (From the airport to the north end is $2.50US.)