I think those guys who are employees feel it is not their responsibility to pay for business cards. If they are provided by the company, that is fine. Different companies take different approaches to cards. It used to annoy me that every time I changed job title the company I worked with insisted on getting me a new box of a jillion cards. I probably handed out only a dozen or so before I would be promoted and still another box was provided. Seemed very wasteful. On the other hand, I would not have been able to purchase or produce my own because of logo copyrights and similar issues.
I note that some companies provide blank business cards and that seems less than professional but does meet the need for a shopper to receive Joe's name in Joe's handwriting on an ABC business card. What I find truly tacky is when Joe scratches out Tom's name and writes his own on a business card for me.
Most shops will accept Joe's name in Joe's handwriting on a piece of literature from the store. Thus when I'm talking with a sales person I usually ask if there is a brochure on the item so I can talk with my husband about it (or compare it with other similar products if I am supposed to be the decision maker). It is then usually feasible to ask Joe for a business card and if he doesn't have one, ask him to write his name and direct phone number on the brochure in case I have more questions. And I do this in real life too so it doesn't feel weird on a shop.