Also, they're simply better quality than the T-shirts I've bought myself.
T-shirts work. Especially for all of these SaaS platforms and tech companies where all of the marketing is virtual. Everyone is doing email and inbound marketing. However, sending out t-shirts in the mail, that's different. People remember the (one or two) companies that have sent them swag in the mail.
There's nothing like a t-shirt giveaway via Twitter, or a random VIP thank-you gift that arrives in the mail. It shows you care, because sending a shirt costs a lot more in time + money than sending an email.
Lots of startup t-shirts suck, but there is occasionally one that's pretty nice and well-designed. (It helps if you have someone who knows what they're doing design it.)
But yeah, if you take some crappy bottom-dollar third-world t-shirt and stamp your logo on it 6" high, don't expect many people to wear it. And too many companies think that's a good idea.
I'm a tshirt evangelist. If you have a great service, and send me a shirt, I'll rep your stuff and pass referrals. But I think the key is that it has to be personal. I won't do it just for a shirt, I'll do it for the relationship and service included.