When I edit a cell in the notebook and re-evaluate it, it "overwrites" the input and the output of the previous edit. I want it to copy my edited version to the bottom or something and give me a separate output, not overwriting the old results or old input.
I'm not sure how your input would get overwritten -- can you add a screen grab showing this?
As for the output there is a default option for cells called
CellAutoOverwrite and also an option for notebooks called
OutputAutoOverwrite which is
True by default. If you want to switch off overwriting in all your notebooks you could create a stylesheet to use but I'm sensing you are a new user so the easiest path would be to go to Format >> Option Inspector...
To switch off in your notebook choose Selected Notebook from the popup menu and set
OutputAutoOverwrite to False (uncheck the box).
To switch off globally choose Global Preferences from the popup menu.
With this option set to
False you will get a new
Output cell for each evaluation:
Once you know what option controls whatever you want to change you can also set the option programmatically:
SetOptions[EvaluationNotebook, OutputAutoOverwrite -> False]
The catch of course is identifying the appropriate option in the first place and to a degree this just comes with experience.
Mike's method seems a fine answer to me, but if you just occasionally want to keep an existing output, for instance as a reference to see whether a new evaluation causes a change or not, I usually place the insert beam between input and output cells and press enter, creating an empty cell in-between. This prevents the original output cell from being overwritten.
In addition, I find Ctrl-L (Copy Input from Above) and Ctrl-Shift-L (Copy Output from Above) often useful in this context. Both commands can also be found in the Insert menu.