When I needed business cards for my new firm I looked all over and found that I really liked Staples. I love my cards and there were many choices. I get compliments on them all the time. I designed them online and had them shipped to my house. I am 100% sure I will used Staples when it comes time to reorder and am very confident recommending them.
I did not like Vistaprint and a friend of mine ordered 500 from them only to learn upon getting them that Vistaprint's name and logo were printed on the backside - not the professional look she was going for
I use Vistaprint and am happy with them. I don't order the free designs. These are the ones that include the Vistaprint logo on the back (they advertise because they are giving you cards for free.) I pay to upload my own design and do front and back designs. I also upgrade the card stock. Only white cardstock is available (although you can have a color printed over the whole card.) I wish I could get different colored card stock.
My local printer was charging me $70 for 500 cards with front designs only. Vistaprint with coupons usually runs me no more than $30. I do all my own graphics in Illustrator.