As a new knitter, I often couldn't tell when I wasn't going to have enough yarn to work one last row then the bind off. So I did the only thing I could think to do when I got to the end of my last row and realized that two inches of yarn wasn't enough to bind off with. I just slipped/passed stitches, without using the working yarn to knit a bind off stitch as you would normally do. These days, I still run out of yarn, but that is due to me being in denial that I won't have quite enough yarn to finish off my project and that somehow the yarn will magically lengthen to give me enough to finish those last few bind off stitches.
You can do this on flat and circular knitting. If using straights, you'll want to slip the stitches to your second needle so that the working yarn - the tail that is too short to complete the bind off - is near the end of the needle with the stopper, and not near the point of the needle. If using circular needles for flat knitting, simply slide your work to the other end. For work done in the round, when you reach the beginning/end of the round, you will just want to start working backwards.
Slip the first stitch to the right needle. Slip the next stitch - two stitches on the right needle. With the tip of the left needle, pick up the first stitch and pass it over the second stitch. One stitch has been bound off. Slip the next stitch to the right needle. Pass the first stitch over - second stitch bound off. Repeat until you get to the last stitch where your working yarn is waiting for you. Pull the tail through the last stitch, just like with a regular bind off, and TA-DA! You just bound off your work even though you only had a short length of working yarn! Nifty tool to have in your knitting repertoire should you need it.
Here is a video. This is done with straights, but again you can do it with circular needles too.