I generally stick to the 10% rule... Liveaboards are a different story. I would generally tip 10-15% of the boat cost, depending on service.
Everyone should remember that tipping is for good or exceptional service. I have stiffed many a DM or captain for being an A-hole or not helping me with stuff, or just being rude and not courteous.
These DM's and boat Captain's should have to EARN the tip. That way, when you give them some of your hard earned money, you feel better about it. Just to give you a little insight into this, a friend of mine just got back from a liveaboard trip in the Carribean. The boat crew was awful, and completely inadequate, and not helpful at all. Just before his trip, the boat owner had FIRED the entire crew, and hired a brand new crew. They didnt have any idea what they were doing, or anything about the dives. SOme of the people on the liveaboard got off at the first port they stopped at, and DID NOT GO BACK ONTO THE BOAT!!!
Thats how bad it was... (I won't say the name or operator of the boat)
We, as CONSUMERS, need to show our dissatisfaction with service by withholding a tip. DOn't give one if it is not deserved.