It really depends upon the level of service the provide. I always try to negotiate a "net" price that includes gratuity and then tip if the tour or driver was exceptional. That way, there are no surprizes for anyone. A great taxi driver taking you on a tour can really make or break the experience.
Let him know that you don't want to be taken to the tourist traps and that if he does, there will absolutely be no gratuity. Many taxi drivers have arrangements with restaurants, stores and other tour operators where they share in the revenue produced by their passengers. These situations are generally not in your best interest.
Tour guides on a shore excursion are another issue. I tend to tip based on how good they were. I usually tip between 10 and 20%.
Hope that helps.