The extent of my profile that can be built (and is probably available) is absolutely insane. Picture this: most people use a single email ID to register anywhere. Dating sites, e-commerce, social networks, banks, and even offline stores. My online purchases can be linked with my preferences on OKCupid that can be linked to ads I am clicking that can be linked to my offline behaviour. Personalised pricing is direct result of that. Who knows what other interactions are being shaped by it. Because the power of having this profile is limitless.
There's a Gmail trick to avoid it by using "+random_name" suffix but that is easy enough to circumvent. Disposable email IDs are banned from most sites and I never found it easy to integrate in my workflow. I have been pondering about building a service that acts as a mask to your real email ID, can be configured to forward emails to your real ID and can work with your personal domain name. I know some people who are running similar kind of setup here; a service might be helpful for those who don't might not want to go through the trouble.
Whether on Google Apps or using Exim, all my domains have a catch all address so emails to unmatched local names (addresses) are sent to a single inbox. I then use servicename@mydomain.tld for registration at each service.
It's not much more difficult to circumvent than gmail's +randomname but a little fuzzier. There's no way to know from the outside how many people are using each domain.
It is good to use +randomname for another reason: so customer service departments can't be tricked into giving up your data, since the attacker can't even guess your login id.
If you're using fastmail you don't even have to worry about that limit. If your email is example@fastmail.com and you are registering with http://www.onlinestore.com/
Just use onlinestore@example.fastmail.com and fastmail will make sure it arrives in your example@fastmail.com inbox.
It's not email addresses they want most dearly though (although it is used and correlated of course) it is that nice unique identifier that is your (mobile) phone number. For smartphone apps it is the default (and often only) identifier (and conveniently, it is also the one identifier nearly always present in the contact lists they guzzle in).
A lot of services on the web want your phone number too; as a contact on the shipping label (often a required field), as part of the authentication scheme (out-of-band text messages with OTP codes to confirm certain actions), or as an account recovery option. A person's phone number is a unique numerical identifier that doesn't change often, if at all (in the EU you tend keep your mobile phone number when switching telco's).
This is why I'm always reluctant to sign up for 2FA, opting instead for long randomly-generated passwords and a password manager when I care about an account. Google/FB having my phone number is way worse than someone hacking my crappy FB profile or spam-catching Gmail account.
I run my own email server and set up a catch all address so I can give any website a new email address at my domain. It was a bit of a pain to set up initially, getting other servers to accept sent emails, but maintenance is pretty straightforward.
I do this with one of my domains. Setting it up was just adjusting some forwarding preferences in my registrar's web interface. Not sure how a separate service could make this easier, I'd presumably still have to login to my registrar to point an mx record at it.
There's a Gmail trick to avoid it by using "+random_name" suffix but that is easy enough to circumvent. Disposable email IDs are banned from most sites and I never found it easy to integrate in my workflow. I have been pondering about building a service that acts as a mask to your real email ID, can be configured to forward emails to your real ID and can work with your personal domain name. I know some people who are running similar kind of setup here; a service might be helpful for those who don't might not want to go through the trouble.