hi and welcome to forum
best weathers(local summer time) is from january to april and perhaps month or 2 more in both ends, but it's warm all year.
i don't think, that there is much sharks , but streams, so it's not safe swim outside the reef, if you go there, it's better take local boat with you, it's cheap.
visibility is good, if you don't go near big towns.
i am not shure, but i think spearfishing is allowed, haven't hear any limits
it's best to buy fresh fishes from fishing harbours, when big game boats are coming back from sea, but you find fishes in markets too, remember that salmon was expensive there, but not other fishes, for europeans.
in restaurants you find people at night, but there is much pairs, ot's not best place for partying, but i think, everything depends about you self, i've got many friends there.
have a good trip and try big game fishing too