Why does "Turn Passcode Off" on iOS take so long?
As another answer pointed out, iOS 8 uses FDE with passcode enabled, much the same way FileVault encrypts a hard drive on a Mac. The more data you have, the longer it will take to de-crypt or re-encrypt all this stuff as you toggle it. 

The secondary reason for this is by design: Mac OS and iOS have strong UNIX and BSD underpinnings, as most are aware (side note: how cool is it iOS auto-fills 'underpinnings' after I type 'UNIX'?!). UNIX systems implement a computationally expensive hashing algorithm, which is designed to resist brute-force attacks because it takes so damn long. While the effectiveness of this technique has waned as processors become faster and more powerful, it's still noticeable as the little spinny thing on your login screen just before you log in to your Mac, which would make sitting there and typing random passwords very annoying (read up on pam_unix if this interests the developer side of your brain).