Готовить - приготовить ?
What is the difference and what are the other prefixes that come after verbs?
Those are two aspects of the same verb, imperfective and perfective (or concrete). I'm sure someone else will come along to explain it better than me, because I don't have the hang of it myself totally. You could use the perfective aspect for actions which you expect to be done and completed. There are examples here http://www.russianforfree.com/lessons-russian-language-11.php
Он готовил. Вчера он приготовил очень вкусный ужин.
He was cooking. Yesterday he cooked a very delicious dinner.
The first version is imperfective, discussing the general ongoing action of cooking. The second example is a concrete of example of a specific meal that was cooked.
I guess it is like делать and сделать? They both mean do/make, but сделать is to do/make and complete the task.
Готовить is to prepare and приготовить is to prepare (and complete the task)