I feel I have worn out socks and think it best to move on. Let's go back and visit some knitting basics- Reading a yarn label.
What is so important about a yarn label? After Yarn Name and fiber content on the label, what does the rest of this stuff tell me?
Color and Dyelot for example. Of these 2 Dyelot is the most important.
Every time a yarn color is made it will look a little different. Why, because there might have been a different blend of material, this flock of sheep got more or less sun, a slightly different about of dye applied, difference in humidity, Susan blends different then chuck. Loads of factors out of the manufactured control.
Now that you know this when buying yarn to make something, make sure you check all your dyelots to make sure they are the same, or have a plan in place to work odd dyelots together (that is another Knit Tip just waiting to happen).
I think it is a good idea to buy 1 extra ball just to make sure you do not run out. If this is a future knitting project, I would grab 2 or 3 more.
You can waste a lot of time calling around and running all over looking for 1 more ball to finish your project just because you were to cheap to buy an extra ball or two.
You can always knit hat for donation with the left over. It would do you good.