Probably the first thing to be said about portrait lenses is that you can take a portrait with just about any lens ever made. However some lenses tend to give better results than others, which is the point of this article.
It's mostly about perspective. For "normal" portraits, does the lens render the image the way that you normally experience it - in other words does the portrait actually look like the person being portrayed? If it does then the lens might be considered a good portrait lens. If it doesn't, it would be more of a "special effects" lens.
Now some people think that it's the focal length of the lens that governs perspective, but they'd be wrong. If you compare normal rectilinear lenses (i.e. not with fisheye lenses), the perspective is determined only by your distance from the subject. The size of the subject is determined by the focal length. So if you are 100ft from a deer and you take a picture with a 20mm lens and a 200mm lens, the deer will be 10x larger with the longer lens. However, of you took the image taken with the 20mm lens, and enlarged it by 10x, it would show exactly the same perspective as the shot taken with the 200mm lens. The grain or noise would be much more noticeable and it would look a lot less sharp, but the perspective view of the deer and the background would be identical.
Why is this important? Because we normally look at people when they are a reasonable distance away from us, say 6ft . We don't look at most people from a distance of 6". So we want a lens that gives us a reasonable "head and shoulders" type shot when we're about 6ft away from them in order to create a realistic looking portrait. If we assume that a portrait will cover an area of around 16" x 24" (a reasonable value for a "head and shoulders" type shot) and we do the calculations for a full frame 35mm camera, we find that the focal length required is around 100mm. The "classic" range for portrait lenses on 35mm full frame camera is from around 80mm to 135mm. If we do the same calculation for an APS-C DSLR it results in a a focal length range from around 50mm to around 85mm.
The reason that we don't want to shoot with a 10mm lens from 6" rather than a 100mm lens from 6ft comes from considerations of distance. Let's say you're 6" from your subject's nose with the 10mm lens. That means you're about 12" from your subject's ears. Since magnification is a function of distance and the nose is 1/2 the distance from the lens that the ears are, the nose will look proportionately twice as big as the ears will. There are few subjects that would appreciate this look! On the other hand at a distance to the nose of 6ft (72") and a distance to the ears of 78", the difference in magnification will be very small, and will be the same as you see with your eyes at that distance anyway, so the subject will look "normal".
At 22mm (above), even on an APS-C DSLR, there's quite a bit of distortion of close subjects. Good for an "interesting" look, but not flattering for conventional portraiture. In general, wideangle lenses should be avoided for closeups if you want a "normal" perspective.
What about long telephoto lenses? Well, they do tend to "flatten" the subject somewhat, but it's not really a very noticeable effect. The main reason why telephotos aren't used much for portrait work is that you have to be at a significant distance from your subject. This makes communicating with the subject difficult (you have to shout!), plus in a studio setting you probably don't have enough room to back up far enough to use a 600mm lens anyway. Long telephotos are also very expensive and heavy. However portraits are sometimes shot with very long lenses though as they can give a lot of background blur and an interesting look. Some of the "Sports Illustrated" swimsuit shots are often taken using long telephoto lenses.
Another characteristic of portraits that's often considered desirable is a blurring of the background. This makes the subject stand out more. The blurring of the background is controlled by two factors. First the speed of the lens. Faster lenses have a smaller depth of field and so blur out local detail more. However any distant objects (objects well outside the depth of field) are blurred in proportion to the physical aperture of the lens (which for normal and telephoto lenses corresponds pretty well to the size of the front element of the lens). So to maximize both of these factors you would choose a long, fast lens. However there's a limit to how fast you can make a long lens (and still have it cost less than a car). You can make an 85mm f1.2 lens, but at 600mm, f4 is as fast as is practical. You can get f2 at 200mm and f2.8 at 400mm and still stay under $7000 or so.
One other point is that most current DLSRs are APS-C format, which means they use a smaller sensor than full frame 35mm. This modifies the focal length requirements for portrait work because at the same distance from the subject (which if you remember is what counts), you can fill the frame using a shorter focal length. For Canon APS-C DSLRs the "multiplier factor" is 1.6x, so a 50mm lens will give you the same results as a (50 x 1.6 =) 80mm lens would on a full frame camera.
So what are the best portrait lenses for an EOS camera? Well we can start out at 50mm. This is an excellent focal length for portraits on an APS-C DSLR, and is also quite good on a full frame camera, especially if you are not trying to do tight head shots. While you can certainly shoot portraits with shorter focal lengths, "normal" perspective starts at around 50mm for "head and shoulders shots". You can get good results with a lens like the 35/2.0 if you are doing "head to toe" portraits though. As I said at the beginning of the article, you can use just about any lens for portraits, but I'm keeping this list to lenses between 50mm and 200mm and that are f2.8 or faster, otherwise I'd have to list just about every lens that Canon makes!
From the above list, my picks for the photographer on a budget would be the EF 50/1.8II for anyone shooting with a crop sensor DSLR. For anyone who wants a better built lens or a slightly longer lens, and especially for anyone shooting full frame, I'd pick the EF 85/1.8, which is probably my most used portrait lens. The 50/1.4 USM is also a good choice for APS-C shooters who want a little extra speed and less plastic then the 50/1.8 II has, The Tamron 60/2.0 DiII macro is a good choice for those who are shooting with a crop sensor camera want to combine macro and portrait capabilities in one lens. It's fast enough to blur backgrounds and long enough to give a pleasing look. If I had to pick one lens, I'd pick the 85/1.8.
If cost was no object, I'd pick the EF 50/1.2 for an APS-C DSLR users, or the EF 85/1.2L II and EF 135/2L for EOD 5D and 1D series full frame DSLR users - or APS-C users wanting a slightly longer focal length than 50mm gives them. If I had to pick one, I'd pick the 85/1.2 II (though I probably couldn't afford it!).