As part of the Fair Credit Reporting Act (FCRA), the credit reporting agencies are allowed to supply lists of consumers to potential creditors. Creditors can filter these lists to target their preferred audience for pre-approval offers. The FRCA allows you to opt-out of those lists, choking off the main source of credit card offers.
To opt-out, go to Opt Out Prescreen, a website run for this purpose by the credit reporting agencies. You can opt out for five years through the website, or you can opt out indefinitely by downloading the Permanent Opt-Out Election form from the website, filling out the form, and returning a copy to each of the credit reporting agencies.