How to join new yarn? This is one of those odd little questions that can shut down a knitter's work. You come to the end of a ball. Now what? Like a rock climber hanging at the end of a rope in a crevasse, you need to know what to do next.
For all methods, try to start a new ball at the edge of your work, or in a discreet area. If you're coming up on a high-focus area (a neckline, a buttonhole, for example), you might join in new yarn a little early, even if your current ball of yarn isn't used up. Here's an overview of the basic methods. These are the ones I use most, but definitely check out knitting help sites for more information.
Do nothing (for now)
Yes, that's right. The non-magical but sometimes most appropriate way of joining new yarn. Just drop the tail of the finished ball, and start knitting with the new ball. The stitches where you switched will seem loose, but don't worry about them yet. Come back to them a bit later, and pull the two tails of yarn til the tension looks and feels right on the right side of your work, and tie the tails together. I use a plain old bow, like the one you use when you tie your shoes.
Then, when you're finishing your project, untie the tails of yarn and thread one of them on to a tapestry needle. Weave the tail into the back of about 5 or so stitches, following the flow of the stitches. Then change direction, and weave into another 5 or so stitches. Do the same thing with the other tail.
Weave as you go
This is how I learned to deal with ends. If you were knitting in the 90s when there was a lot of color knitting going on (remember those Kaffe Fassett designs that used 40 different colors and combined stranded color knitting with intarsia?), you had a lot of ends to deal with. Although weaving them in after with a tapestry needle would be a tidy-looking solution, that's a little labour intensive. Weaving as you go, when done carefully, is invisible from the right side and does the job.
To weave in a yarn end, *drape it over your working yarn at the back of your work, then work a stitch. Then bring the tail up so it's on the left of your working yarn (if viewed from the front of the work) and work a stitch, catching the tail with your working yarn. Repeat from *. You can work two ends in at once, but more than that will probably be too bulky.
Play around with the tension of the tails being woven in, the goal is to anchor them without distorting the stitches.
Felted Join (sometimes called spit join, spit graft)
If you're working with fiber that can be felted (ie, most wools), felt joining is the way to go. Easy to do, doesn't require scissors, and is seamless. Great when you want something reversible.
Overlap the two tails of yarn that you want to join to each other. Overlap so the yarn is going in opposite directions. Grafting will work best if you shred the fiber of the tails a bit, and break, rather than cut, the ends. Lick your palm (yes, it is called spit joining), and roll the overlapping tails together. The pressure and heat from your hands will felt the fibers together. And if licking sounds gross, a little bit of water works too.
More on Felted Join and other methods from TechKnitter
(I sometimes call this—incorrectly—Russian Grafting, but that's actually a method for joining stitches)
I love this one. It's a bit fussier than the other methods, but when you get the hang of it, you can make an almost invisible join on non-feltable fibers. I first saw this in Issue 13 of Yarn Forward magazine (now called Knit! For more information, see knitting magazines). The article recommends it for DK weight and finer, but I've made it work on worsted cotton with decent results.
Give yourself a long tail to work with on each ball, about 12 inches. Thread a tail through a tapestry needle. Fold the tail back on itself, about 5 inches in, and weave the needle back into the base of the tail. Remove the needle. You should have a loop at the end of the tail now. Take the other tail, thread it on the needle, draw the needle through the loop that you just made on the first tail and weave it back on itself. Remove the needle. Now pull the ends of your yarn, gently, in opposite directions, adjusting any kinks as you go, until the loops tighten on each other. Carefully snip the tail ends.
More on Russian Join
Photographed instructions Knittinganwyay.com
Video tutorial on Knittinghelp.com