That has happened to me too. I think how you undo a single stitch depends on the kind of stitch it is. Assuming you want to undo a stitch that is the last one on your right needle, you can stick the left needle into the "neck" of the first stitch on the right needle, slip it over to the left needle and pull out the yarn. Do this one stitch at a time until you get the row un-done. Caution -- you might end up with stitches on the left needle that are twisted. Try to make sure they're facing the right direction.
As to how you accidently add stitches, it could be because sometime you put the right needle in the wrong loop of the left needle. Also, sometimes when I'm doing ribbing (k1,p1,k1,p1, etc), and I have to pull the yarn from back to front every stitch, I accidently hook the yarn onto the needle and then knit (or purl) the next stitch. It ends up indadvertently being the equivalent of a "yarn over" (looping yarn around the needle to add a new stitch to the row).