Difference using primary vs main email address
A contact can have several emails. To distinguish them, each has a category: is this her professional email, her private one...?

And no matter how many emails a contact has, civi needs to know which one to use when I want to mail the contact: it is the primary one. I might prefer I receive emails on my private address, but you might prefer your professional one.

Now it's becoming more confusing:

The categories of emails are shared with the categories (Locations) of physical addresses, so you have a "home" email address and an "work" one. I use them as private and professional emails respectively... and an extra category "main" (meant to be for the main office location) that is indeed confusing (I tend to hide this category)... and an extra "billing" email address that will be automatically created if the contact makes a donation

Even more confusing? 

civimail can use a different "primary" address than the "primary" one (the one flagged "bulk email"), so you could receive the event registration confirmation on your primary email, but the newsletter on your "bulk" email.

Even more confusing?

A contact can have several bulk emails, so you could receive the newsletter to both your private and professional email

Civi is super flexible and can deal with a lot of different workflows from a lot of different organisations, but sometimes, the defaults are a bit confusing indeed.

I'd suggest you to look at what email (actually Location) categories you need, and disable the ones you don't need (eg. the "main" one), it's under /civicrm/admin/locationType?reset=1

Keep in mind that that list is shared between the physical addresses and the email ones.