Webform CiviCRM or CiviCRM Entity?
CiviCRM Entity is the way to go if you want content creators to reference create CiviCRM data on nodes or other Drupal entity types...The downside is, assembly on some not so well documented features required. We have used it to allow users to add/edit contacts with emails etc..well as you know, I wrote that article.

There is this article too which tries to explain the CiviCRM Entity Reference field: https://skvare.com/blog/using-civicrm-entity-reference-field-submodule-inline-entity-form

If you place a CiviCRM Entity Reference field on the Contact entity, and target Emails, then it will save the email and connect it to the contact as you would expect them to be. CiviCRM Entity Reference field is a "remote" reference field, in that it doesn't save data in any Drupal field tables, but accesses the Civi data directly.

You shouldn't have to setup your forms and any CiviCRM Entity Reference fields but once, and then you can use the same config with Entityreference fields on your node type over and over. 

One big disadvantage to the D7 version, is that you cannot have multiple "form modes" in D7 .. that is multiple configurations of which fields appear on edit forms.....So if you want one entityreference field inline entity form for an organization contact, and another for an individual contact, you can run into problems, because you want the  organization name for the org contact, and maybe first / last name for the individual contact.

You can use hook_form_alter or css to hide fields when needed though too. You would configure your contact edit form to have all the properties/fields you may need, and then hide them as necessary for the different reference fields. That will require some development and special knowledge.

CiviCRM Entity is a very powerful tool, but does require some learning and elbow grease, and sometimes code, to make very custom setups.

As to which tool to use when, that depends on the use case IMO. I'd be happy to chat about it sometime on CiviCRM mattermost, chat.civicrm.org, civicrm entity channel, just ping jackrabbithanna. We use Webform CiviCRM alot too.