1) You've got to design and pay to print them. If titles or contact info changes, that's a re-print. The cost matters a lot particularly to the SoHo market.
2) You've got to carry them around with you everywhere to hand out. Usually this is in a metal case that's kinda cumbersome in a pocket shared with an iPhone/BlackBerry already.
3) When someone hands you one, you've gotta stick it in your pocket and not lose it.
4) After you bring them to your office, you need to file them somehow (scan them, manually enter them into Outlook/whatever).
I've seen people at hedge funds buy expensive scanners which plug into Outlook and let you scan this stuff in. It does OCR on the cards and auto-creates contacts for you. The scanners are around $200/each, plug into your desktop, and are a tad annoying to install and config. The cards get tossed into the trash the moment it's in Outlook.
If you don't buy a scanner for every employee, that's time wasted while they type said card info into Outlook.
While something like this won't "kill" business cards in the business world, it'll offer a nice alternative.
Here's an idea for an iPhone App that'll let someone with an iPhone do-away with biz cards all together: A scanner app using the iPhone camera. Take a snapshot* of someone's biz card, OCR it, and bam, it's in your contacts. Easier said than done, of course. But it eliminates steps 3 and 4 above, making your life easier when dealing with "legacy" business cards. :)
*Yeah, yeah, we all know how good the iPhone camera is at close-ups. Maybe the next revision? ;)