Liquibase – Source control for your database
liquibase.org
liquibase.org
The catch phrase is unfortunate, because it could trick one to think this backs your data. This is basically a Rails migrations like solution that relies on XML files to describe changes to your schema.
Update: And now JSON even. Hoorray.
Liquibase works well with Spring, so you can have the Spring context run migrations as required without involving application code. This is a very good thing. Without this, you have to have your code up your own solution for figuring out at runtime if your database schema is in line with your Entity objects (assuming your using JPA).
In addition, much like how unit tests force you to think about how to write code, rollbacks help when writing schema migrations to make sure that something could be undone if necessary. In practice, I've rarely used them though, and if you do it's likely going to be on a dev/staging server.
On the other hand, if the upgrade was broken, it's unlikely the downgrade will work. The situation where the downgrade works is when you don't need it. On the database i work on we fix bad upgrades that weren't discovered immediately by layering another upgrade over it.
South for Django has the whole migrations things stored for me, but I never see myself wanting to use it for backwards migrations.