The better applications allow the user to choose among several interpolation methods. A complicated series of mathematical computations are done within the application, usually as the image is being spooled to print. The interpolation algorithm looks at one pixel, and then all the pixels in the surrounding area, and then decides what pixels to change. By the time I got through understanding all the details and explained it to you, we would be sharing our oatmeal in the home, so let's just leave the details to the experts and just worry about image quality. No free lunches.
Interpolated images can become soft.
The algorithm can add so many pixels in such a heavy-handed manner that the image gains a soft focus look. When you have a choice, use a higher resolution image and don't try to print it too large. But when you want to print an 8x10 from a 1280x960 image, a good interpolation algorithm can be indispensable for producing useable output. Some applications don't give you a choice. When you do have a choice, experiment.