Some soups are perfect just with stock or a bit of cream, but others require a more substantial body. Roux, cornstarch, and pureed vegetables can all be used as thickeners, each with a very different result.
Roux, which is equal parts fat and flour, is common as a thickener because it not only thickens, but stabilizes, too. If cream or cheese is being added to a soup, a bit of roux can insure it won't "break," or separate.
The Pure Starches
Typically, cornstarch is added to a small amount of cold water or other liquid (wine or stock) and whisked into a thick slurry. This slurry is stirred into the soup at the end to set the final consistency of the soup. Just remember, after you add some of the slurry, let the soup return to a simmer--cornstarch is a very effective thickener, and a little bit can go a long way.
What to do with leftover rice or potatoes? Mash or puree, then add to a soup for more body.
The Soup Itself
A great trick to thickening a soup while intensifying flavor is to use parts of the soup itself as the thickener. Simply remove some of the soup solids--the aromatics, starches, even the meat--and puree. Use a blender, food processor, or immersion blender for this task. Puree with care if using a blender--the hot soup solids can actually spin out of the blender while blending and burn the skin quite badly. Use the blender's lid, held down with a thick towel, and keep the lid on for several seconds after the blender is turned off.