When should I use transactions in my queries?
Basically any time you have a unit of work that is either sensitive to outside changes or needs the ability to rollback every change, if an error occurs or some other reason. Look here for some excellent answers and their reasons for using them.