I have often wondered this myself, and some of the ideas that came to mind, although I have no further information to back up these claims, are as follows:
In regards to random table re-assignments, Attempting to keep the total number of tables to a minimum, if multiple tables have one empty seat, it would be possible to consolidate a table and insert them into another table.
When a big win occurs, or a knockout, I think that tables are re-assigned in an effort to equalize the average amount of chips per table.
Once again, these are just assumptions that I have made, and look forward if anybody has any concrete information on the reasons for this.