Using a checksum means that a contact receiving the email can click on the link within a period of 7 days and go to a form that already has their contact details included.
If you are sending this out via CiviMail you must turn off TRACKING for this to work - at Step 2 of civiMailing.
For CONTRIBUTION pages including Join and Renew and Donate use the following
<your site> /civicrm/contribute/transact?reset=1&id=N&{contact.checksum}&cid={contact.contact_id} where N is the ID of your contribution page
For PROFILES use the following
<your site> /civicrm/profile/edit?reset=1&gid=N&id={contact.contact_id}&{contact.checksum} where N is the ID of the Profile you want to send them to.
For EVENT registrations
<your site> /civicrm/event/register?reset=1&id=N&{contact.checksum}&cid={contact.contact_id}
NB - when testing you always need to check what happens for non-logged in users by pasting the URL from the email in to a browser you are not logged in on.
NB- because of the limited duration of these (7 days) it is worth including a 'use this link within 7 days' message in to the email
NB Tokens for 'contact checksum' and 'contact.contact_id' are available in the Token list on emailing forms.