They're not allowed to do that: "Both Visa and MasterCard prohibit merchants from requiring customer ID as a condition for accepting their credit or debit cards. All you need is a signed card, and of course the signatures must match [1]"
[1] http://www.consumerreports.org/cro/news/2011/02/can-a-mercha...
That isn't unusual.
"If you're a Visa cardholder and a merchant presses you for an ID, Visa says you should notify your card issuer. In the case of Amex, notify American Express directly. MasterCard customers should report the violation by visiting the company's merchant violation web page."
*Edit: hundreds of transactions per year
I think it is more related to the amount of fraud the vendor experiences and they get pressure from the processor to reduce it, therefore they implement ID checking to counteract it a bit.