Boat takes about an hour, can be choppy, bumpy & rough -also wet as in waves crashing in, but it is the cheaper and more local travel mode.
Airplane takes 15-20 min. to be in San Pedro Town, I am always too eager to get my feet in the water & sand to wait for a boat.
In San Pedro you can take a Taxi and ask the driver to stop at the grocery, liquor & other stores, your bags will be safe. No need to shop in Belize city unles you want to, San Pedro has all of your fixings usually. Also you can tell BS you would like to stop for a few things before you head north away from most of the stores, and they should accommodate your desires (ie give you time to shop before they pick you up or stop & wait for you to shop on your way.