In XDA, I often see people complain that they flashed something, and it doesn't work. Then, somebody tells them to try flashing it again, and it works! What's the reason behind this?
I imagine this to be something related to dependencies, like in SQL. Ideally, a child table should be deleted first before the parent table. If you had a batch SQL statements in this sequence, you'd have to run the script twice. The first run would not delete the parent table (because the dependent child table still exists), but would delete the child table. Then, the second run would eventually delete the parent table. Is this the same analogy that's happening when flashing ROMs twice (or more)?