2006/5/11, Jeff Eaton <jeff@viapositiva.net>:
The're useful when the structure of a table evolves over time -- for example, version 1.45 of module foo adds an index for better performance. YOu can change the original definition, but you'll need these additional functions to write the update_x() function.

Probably a 'diff' can be made to determine the difference between the current tables (if they are present) and the updated definition. The install/update system would then process the differences.