I did the dive a few weeks ago. I personally thought it was worth the $300. BUT, if I were to do over again, I would do the "swim" and not the "dive". Here is my reasoning -
The divers are encouraged by the divemasters to stay towards the bottom of the tank, and the whales mostly stayed in the top 1/3 or towads the surface. I looked up at a white belly most of the time. They one time I cheated up, the DM was getting on her tank banger calling me down.
I watched the "swimmers" there with their faces inthe water the whole time, sharks passing a few feet below. The got better views of the dorsal and tails, and the patterns from above.
Don't get me wrong, I had a good time. But think the "swim with" instead of the "dive with" might be a better deal (and cheaper)