Some printers are directly compatible with AirPrint on the iPad. Be absolutely certain the printer supports AirPrint before buying. Some printers may require a firmware update to work. These are usually available on the manufacturers site. If you get this kind of printer you can print directly from within apps that support the feature, which is many.
iOS: AirPrint 101 (I see a couple more printer manufacturers have been added to the list over the last few months)
Of course some of us already have printers and do not want to buy a new one. There are several ways to do this.
One is to use a printing app on the iPad.
Most (or all) other print apps can only print pictures and/or files that have been copied to that app via Open In or other method. Print n Share used to be able to print from AirPrint enabled apps if it was loaded the background. It lost this ability with iOS 5. It may still work with iOS 4 if you get it before the app is updated in the App Store. Several printer manufacturers have their own apps for their printers. In general those apps will probably have the best results, quality wise.
The second method is to load a program on the computer that will emulate an AirPrint compatible printer. Your computer must be on and have the printer available to it. The cheapest (free) is Airprint Activator. More features can be had with FingerPrint (mac and windows) and Printopia (mac only).
There is a third way. A few printers (mostly HP's again) can be set up with their own email address. PDF attachments can be sent via this address to be printed. The last review I saw (several months ago) said it could be quite slow (big files not recommended), and sometimes the emails got lost and never printed. The advantage was that you could literally send/print from anywhere you have an internet connection.
There is a new wrinkle for small business owners and those with more than one printer who would like all their printers to work, but don't want to leave a computer on all the time. The
Lantronix XPrintServer is a small box that connects to your network and is supposed to detect and make all your wireless printers available to iOS as AirPrint printers. I haven't seen a full review on it yet, so do your research.