Basically what the question says, what are the pro's and cons to using InDesign, Illustrator, or Photoshop for business cards?
Or is there something else you prefer to use?
In theory, any of those (plus others you haven't mentioned, like the open source alternatives Gimp and Inkscape) let you design a business card. If you are particularly proficient with one of them, you might want to consider going for that one to save time. While the three Adobe products have some similarities of use, they all require some learning time. If you have the time, I'd definitely recommend you pick one (spoilers: It's Illustrator).
InDesign's specific purpose is laying out printed materials. That's its strength, you can see it as a way of joining Photoshop and Illustrator elements into a new 'thing'. However, where it shines is with multiple pages (tools like text wrap are extremely powerful). Good thing is: It packages fonts and images all in one file, but file size will generally also tend to be bigger, so in your case it might be a bit of an overkill. Yes, you could use InDesign, but you will be missing drawing features.
Photoshop is best for creating and editing photos or raster images. Its main 'power' comes with its image manipulation possibilities. It is not made for printing. Think of it more as a way to edit pictures you want to then add into printing materials. So, you could use Photoshop, but then you'd have issues preparing the files for the printer.
Illustrator is used for illustrations, logos, and scalable graphics in general. It's also widely used in printing, but not for multipage documents like InDesign, as it has no support for master pages and it doesn't let you automate page numbers. Illustrator's drawing capabilities are closer to Photoshop, but 'better' for non-raster illustrations. You can do anything you can in Photoshop - illustration-wise - and you will be able to get everything ready for production in no time.
So, in short, I'd say most cards get designed in Illustrator. As Confused mentions, all printers will be happy with Illustrator files, there are plenty of examples you can follow and the result will just be, overall, better.
Some related posts you might find useful:
Don't be guided by personal preference like 'effects', 'not fun' and 'clunky interface'. They are not relevant. As a designer you should pick the right tool for the job. This is not only about business cards. But applies to all pre-press productions.
Adobes big three have overlapping tool space. But all three have their own speciality. If your design requires images (pixels) use Ps, if you need illustrations (vectors) use Ai. Layout (combining pixels, vectors and text) use Id. Make them work together and get the best of each tool.
Yes they have overlap. Setting text can be done in all three. The thing that goes wrong with text (or any vector) in Ps is that they end up as pixels. The printer needs to rasterize those pixels to a screen (a pattern of dots). This process renders the edges fuzzy. You should have used vectors in Ai or Id. Because in those programs vectors are not converted to pixels but stay sharp lines between points.
Note: There is a difference between designing and producing files for the printer. When you design, anything goes. I wouldn't use software but pen and paper. Use whatever you like. When producing the design for a printer, than the contents of the design dictates the software to use.
Lots of great answers but I'm surprised none of them have talked about batch production of business cards with data merge templates. Even if you're designing for a 2-person startup, with any luck a year or two down the line they'll be coming back to you for business cards for their 8 newly hired employees, then coming back a few years later with a much bigger budget as they open their Asia office...
Okay, maybe not at that scale... but happy recurring clients coming back for bigger variants on work they liked (delighted by your super-fast turnaround times) can really help keep the wolf from the door.
So a very strong case can be made for the following super-efficient workflow:
Sounds complicated? Not at all, it actually makes many things simpler:
I'm actually surprised to see so much love for Illustrator in response to this question, but all the business cards I've done have been very sober corporate designs, so I guess the drawing tools weren't necessary. Our shop used InDesign exclusively for business cards, and wouldn't have dreamed of using IL or PS.
ETA of course I should note that a company logo would be done in IL or PS, but that's because the logo would be used in multiple jobs, and so would always be artwork created outside InDesign.
All the business cards I create are done in Illustrator anymore. It simply offers more freedom.
Of course, this only makes sense since Illustrator CS4 and the addition of the multiple artboards feature. Prior to CS4, I used Indesign (Or QuarkXpress) due to the overwhelming headache of needing one Illustrator file for each name on a card. That's simply not an issue anymore with multiple artboards (and symbols).
That being stated, I will use Indesign if I need to configure a multi-impression run for cards, which I really don't anymore. I create one card so Illustrator is a natural choice for me.
And I will use Photoshop for, well, photos or raster image requirements and link to the Photoshop file in Illustrator.
About the only thing I can state I do not do is entire cards in only Photoshop.
The only real important thing is that the card looks as wanted and it can be reproduced correctly. With that in mind, you could use "Jimmy's Playtime Paint Application for Kids" as long as it can save/export/output a proper PDF for reproduction. What you use is not nearly as important as how you use it.
First, I would never use Photoshop for print works like that. Photoshop is a bitmap tool, and you'll ever have problems to deal with your printer.
So InDesign or Illustrator ? It depends on what type of business cards you do :
Note that you can also do all the graphic job in Illustrator, and import it in InDesign to setup a template.
Yisela answered the comparisons between the programs beautifully, but I would like to squeeze in an answer about workflow.
I usually use both InDesign and either Photoshop or Illustrator.
I do the design in Illustrator or Photoshop in the dimensions of the business card (i.e.
Making changes with this workflow is SO much easier. Any change can be done in the original design file and updated from InDesigns’ Links window. If there is a period missing or something small, I just change it in the Photoshop or Illustrator document ONCE. If the entire design is scrapped and I need to come up with something different, I can still make that change in the original, or link and entirely separate file and replace all the iterations.
Photoshop has terrible edge handling for the fonts and any other vector art you use or draw. But is great for effects. So don't use it.
Indesign is creatively stunted, so not a lot of fun.
Illustrator is almost ideal for this, but for its clunky interface and 20+ year old use conventions. And the Artboards are a great feature for iteration of your design. Use it over the others.
All printers will by happy to receive your Illustrator file, and at the end of the day, that's the biggest determinant that should drive your choice for business cards. And you'll get clean, crisp, professional edges to all your artwork with it - VERY important for business cards.
Or you could use any other number of software products. What you need to understand is the type of software you as using and what it's designed for.
PhotoShop is a raster based image editing tool. Meaning the files it outputs are a bunch of pixels. You can use it, but you'll typically use it for full color printing and/or cards with lots of photographic elements. Understand that because it is pixel based, for crisp type, you'll need to use relatively high resolution images.
Illustrator is vector based. Meaning the files it outputs consist of lines. As such there is no resolution limitation--the text and imagery will be crisp at any size. Given that most business cards consist of vector logos and type, this is often the tool that is used.
InDesign is a page layout tool. I can take images from the above and combine them into one document. You can then add text and as previously stated, you can go as far as using data merge tools. This makes it an ideal tool for large projects that require workflows.
Which one should you use? Whichever one meets the needs of the particular business card project you are working on.
I hate illustrator, but it is the correct tool for a business card.
As most business cards are vector based with text and vector shapes/logos. It falls in Illustrators court, even though you could probably get the job done with either of the 3 programs.
InDesign is better for multiple pages, image placement and anything where you don't need to draw vector shapes. I prefer InDesign for print ads as I'm usually slapping in a combination of text and photos/images. It is the best for laying out, resizing and placing elements on the page.
Photoshop is better for non print work and obviously raster graphics. You could work with the shape tools, but it is not as good as Illustrator's vector tools.
I'd personally recommend CorelDraw above all of these, actually. Far better vector handling, nicer toolset overall and a much more pleasant interface.
I've been using Adobe products as well as Corel products for nearly fifteen years now, and I certainly know which I prefer to get real work done with - especially when going to print rather than for screen display.