Contacts are very easy to understand: they're the users sending the events. Whenever a user is signed into your application you assign them a user ID. Every event is then signed with that User ID. That's how we're able to group them together and know they all came from the same person.
When you learn something new about that user, we find that out as well. Say they add their Title to their profile: assuming your events are set up properly that should be automatically sent to us where we will add it as a property on the Contact. If you click Contacts in the nav you'll see the full list of Contacts we've been sent:
If you click into any of those contacts you'll see two tabs:
It's all that easy. Just follow the users you want and their Events will populate your Stream.
You can override the name sent through your regular data sources by editing a Contact (or Account). This won't delete any old data, just set a name that the account will be identified by within Variance. To do that simply go to Edit then Name override and add a new name then hit Save.