Do you think I should get a "css reset?"
I would suggest at least starting your CSS definitions off with a global selector, something like this
* {
margin: 0;
padding: 0;
}
Think of it like painting your canvas white before painting the picture on it. Have a look at some sample ones online and see what you think is useful. You can also use these to set global default fonts and colour schemes on a per-site basis, if it is useful to you.
Do you think I should buy photoshop?
I can't make that call for you, it is a hefty investment and would depend on your needs and usage. However, I have not come across another editor that does as much as well as PS. But, that may also just be because I'm used to it and know how to do what I need easily.