In addition to what everyone else said, test suites are a great purpose for a rollback. In all of your test suites make sure that you have an END block that does a rollback of your database changes. I wouldn't trust that on production, but if you accidentally ran your test suite against production, it could save you.
(This strategy is easier if your database supports nested transactions because then you can lessen your worries about whether the code being tested accidentally does its own commits.)