If a user changes their email address, they'll be locked out of their account until they confirm the new address. If they never receive the new email (spam filter, typo in address, etc.), they're just permanently locked out of their account unless an admin fixes it.
My suggestion is to keep the existing (confirmed) email address as their address and store the new email address in a different field or table until it's confirmed. That way users can't have an unconfirmed address and be locked out of their account. Once the new email address is confirmed, it'll be moved out of the temporary location and set as their actual email address. If it's never confirmed, the old email address will stay.