What I'm really asking is, why do people create open source projects? What are the benefits?
You might be interested in reading The Cathedral and the Bazaar, which is a collection of papers by Eric S. Raymond on Linux and open-source software. Those questions are answered quite well.
Everything in the book is freely available, although you can purchase a printed and bound copy as well.
There's a lot of reasons why open source software exists, ranging from the personal desire to show off (and maybe get famous) to experimentation to security (Linus' Law: "given enough eyeballs, all bugs are shallow", from The Cathedral and the Bazaar). Different people have different motivations.
Do those projects really get completed to a high quality?
Define quality. Open source software delivers value.
I've never done an analysis of the Linux kernel source code, the Apache web server, OpenOffice.org, PostgreSQL, or MediaWiki. I can't speak to the quality of the source code of these systems. There are high quality code systems out there - Spinellis wrote Code Quality: The Open Source Perspective where he examined a number of open source software projects and used them as examples of high quality code.
Also note where these software packages are deployed. Last time I looked, Apache was a major player in web servers. Many computers around the world are running open source Linux or BSD distributions (even commercial distributions use the open source kernels), and some of these are functioning in air traffic control, defense, military, finance and banking, and other demanding environments.
And is it viable for people in general to make a living from open source software, or is it mostly just large companies who can bill for technical support?
I never have, although I personally know people who have made "playing money" on donations from open source software. It's not enough to live on, but it supplements his income nicely from what I understand. It's a matter of finding a niche and delivering software that people find valuable. I've donated to open source software that I've found valuable in order to thank the developers and maybe do something to offset the time and resources needed to provide the software.