"Are they really free?" Not really, you have to pay for shipping. For me, living in Canada, this was about $8 for 250 cards. It's probably cheaper to USA. They will also charge you sales tax, and if you order other "free" items, like address labels, they will add a couple dollars to the shipping. And you can't buy more than one set of 250 free cards in one order. But that's still a good deal, 250 cards for free with $8 shipping is about $0.03 per card.
"Is it a scam?" No. They don't mention the shipping costs until the very last page of the checkout, but they don't steal money from you. I've heard one story about a person that bought from Vista Print, and then months later were getting mysterious charges to their bank accounts. According to them, it was some kind of service they got signed up for without them knowing and Vista Print was charging them automatically. This never happened to me, though I paid with paypal and not a credit card or bank card. There are some services they offer like "Free business email" that will be only free for a month, and then $5 a month after that. So as long as you read the fine line you should be okay.
"Don't they put their advertisements on your cards?" Yes. On the back they will put "Business cards are free at vistaprint.com" in very small type. No one will notice the back of your card though, unless you pay extra to put your own text/design on it, and then the advertisement won't be there.
"Don't they feel/look cheap?" They're okay. They do feel kind of papery, but the designs are in full color and look good. I did order some where the font was supposed to be pink, but it came out red on the actual cards. So stick to black text if you can. You can pay extra for heavier card stock, or glossy finish, etc. Bottom line, they will look/feel better and more professional than cards you printed off yourself from your home printer.
"Don't you have to buy something else to get the free cards?" No, you can get 250 cards for free with shipping without getting anything else--but they try damn hard to get you to upgrade or buy something else. Their business model is based around this: lure you in with free cards, and sell you tons of other stuff that you don't need. T shirts, car decals, signs, banners, mugs, post cards, pens, it goes on. If you are looking for that kind of stuff though, Vista Print has a lot of options at good prices.
"Aren't all the free designs stupid?" No, the designs that are available for free are nice. The recently updated them and now there is one with cute cupcakes, which I got, one with brightly colored felt/fabric, one with a beaded charm bracelet, and then others with themes like construction, restaurant, nail salon, for other businesses. You can also upload your own pictures and make your own design, but again that costs extra.
So all together, I would recommend Vista Print. I bought from them twice and I will buy from them again. Cards from Moo.com start at $20 for 100 cards, without shipping that's $0.20 a card. I bought from Moo once before and the cards were nice, heavy paper, very customizable with your own pictures or their designs, and the colors were true to the pictures. But the Vista Print ones are so much cheaper, it makes more sense to get them because the point of business cards are to hand them out to as many people as possible. You're giving them away, so as long as they convey "This is what I sell and this is where you can but it" the cheap ones from Vista Print will do the same job as more expensive cards.