Here's a link to Gerald Singer's web site, it has the info from his St. John Off the Beaten Path, the best book for exploring St. John. We like Hawksnest, Devers Jumbie, Maho, Haulover, Hansen Salt Pond, Lameshure, and Little Lameshire Bays for snorkeling. http://seestjohn.com/
In Cruz Bay, favorite restaurants are Hercules Pate and De Coal Pot for West Indian. Lucky Chops is new and run by an awesome chef. High Tide is on the beach. Lime Inn, Cafe Roma, Cruz Bay Landing, Extra Virgin, Doghouse Pub, Da Livio, Longboard, Greengos are some of the good walkable restaurants.
In Coral Bay, we like them all - Skinny Legs, Indigo Grill, Aqua Bistro, Wok on the Beach, Caribbean Oasis, Pickles, Miss Lucy's, Pizzabar.