That way you can create versions of your database. Your development server mabey has version 10 of the DB while the production server only has version 6. Next part of the scenario is that you are posting the newest version of the code to your production server. But wait. Something doesn't work. Then you can quickly do back the command rake db:migrate VERSION=6 to move back the database to the point it was.
That is only one scenario of why it's nice to have migration versions.
Each version of the database is handled by it's own file. For example when you have an online store app and you are adding comments to the products you would add the 010_add_comments.rb migration file. You never change an active version. If your database is version 10 the file you should be changing is version 11. In emergency while in development mode you could rake it down a version and then change the migration file and rake it up.