Keep in mind that someone may have registered with an email address not belonging to them. Knowing that, if email is required, you should either:
Auto-delete accounts that are not verified after X days. Or, better, never create full accounts in the first place and instead put them on a pending list until verification is complete (and allow multiple entries of the same address to this list). You should note this auto-deletion in the email text and also on the signup page.
Or, if you don't auto-delete accounts, you should provide some way for the legitimate email owner to later create an account of their own (at which point you should again invalidate/delete the earlier account).
Of course, you should not allow any access whatsoever until the email is verified. And you should never send further emails (including marketing, etc.) to the address until it is verified.
If email is optional to the service, be explicit about that and don't make email a required field at all. In that case, if someone enters an email but never verifies it, you can proceed without email-related functionality - but, again, make sure the same email address can be later reused by the legitimate owner.
I can't stress enough how incredibly frustrating it can be when someone else registers an account with your email address, preventing you from registering your own account on the service because that email address is unique in the database and has been "claimed" by the other account. Even if the email owner can easily reset the account's password, that does not help the fact that the account has been personalised by someone else. Don't put users in that position.