You know, I see this a lot. I'm not knocking how a person runs their business - I get that with your own company you may not always want to report all of your income, but maybe it leads to some of these problems that shops come here and complain about. You know, "how can I make money when the on-line guys are selling cheaper. I can't make any money on the ball.....and I have all this overhead."
You have a price posted, but then start cutting people deals. If you're going to do that, why not just have something like a loyalty card? Give a discount on every 5th drill, or 10th drill is free or something. That way it's fair and consistent for everybody.
You start cutting Bob a break and then he tells some other guys that Steve only charges him $40 for a drill, even though the sign says $50. Those guys come in and might get upset that they are getting charged the same, or start asking for the "Bob discount."
Heck, I've had my pro shop guy (and my plumber....and my HVAC guy, and several other people in the "service" industry) tell me that some sales don't even go in the register. Come in with a blank and want to pay cash and you might get a $10 discount....and you just paid for his dinner or gas in the car.
We got a new HVAC system a few years ago. The guy came out 4 or 5 times for various problems - some just training us on how to use it, or troubleshoot some issues - and never charged us. Last time he came out I had a check, made payable to his company (he rearranged his schedule and came out on short notice, so I considered it like an emergency call). Looked like it was going to be a freebie until I grabbed the checkbook and asked how much it was going to be. He looked a little surprised, and then said "oh, if you make it to the company it's $65, or just make it out to me for $50 and I don't have to do any paperwork."
I'm all for discounts and hook ups, but as a customer I also like to know what I'm working with. I don't usually carry much cash, but if you're going to charge me $10 less I'll make a trip to the ATM before coming to your store!