See the documentation on devnet for more detailed information how the contacts work.
It basically says there isn't a direct relation between a user and contact. The relationship is created using a 'membership mapping table'. This defines the usersID to link it to a contact.
By default when a visitor:
* Registers an account
* Logs in
* enters customer data in a checkout process
* or Subscribes to a newsletter
A link between a user and contact is created.
You could create custom code to override the recognition method Kentico uses, using the following sample in the documentation: