Keep cards with you at all times. Keep some in your glove compartment, your wallet, your purse, etc. Always have a card on hand to present to someone, always. Well, there may be exceptions. :)
Why those who would be interested in your services/products of course.
lol! You can win a few free meals this way, that's for sure. Been there, done that.
You never know who your next prospective client may be. If the opportunity presents itself, hand over a card. They are usually the least expensive piece of printed material you will purchase and they have the most impact. They are the First Impression, make it a lasting one.
Oh, be sure to study up on cultural differences in the exchange of business cards. You'd be quite surprised at how important that little piece of paper is. There are certain ways to present your card depending on culture. Never, ever, ever, take someone's card and put it in your pocket right away, no, don't do that. In some cultures, that is a sign of disrespect. You should honor the fact that you can present your card and treat it like so.
Never pass a dirty or tattered business card, that is extremely tacky!