All contacts that are created under iCloud on Mac Addess Book are immediately synced. But if I create a contact on the Mac book exclusively, that contact will not get synced with iCloud.
Exactly: that's how it works. Contacts (and calendars) listed under iCloud actually reside on the server and your Mac reads them from there. Contacts (and calendars) under 'On My Mac' are purely local and iCloud knows nothing about them.
Your signature says you have 10.6.1 and presumably this is wrong if you are getting iCloud to work at all as it requires Lion 10.7.2 - please update it as the wrong system listed can cause confusion when people try to answer problems.
I believe the duplicate address books stems from the move from MobileMe to iCloud.
In system preferences I found an iCloud icon and also a MobileMe icon. I was logged in under both.
1) In the Address Book preferences I selected iCloud and unchecked Enable this account.
2) In the Address Book I selected iCloud and clicked on the minus “-” to remove that account – leaving only the local Mac address book.
3) I went into system preferences and logged out of MobileMe
4) In system preferences I opened iCloud and the “Contacts” was not selected (from above) and I selected it.
I got a dialog box asking if I wanted to merge the iCloud contact with the local contacts – clicked YES.
… spinning wheel for a minute … voila – only one address book account – iCloud with syncing to iCloud and my iPhone.
Do you also know how to get a common calendar between devices for two people to share?
If you mean sharing between two different accounts, then this is possible, both privately to selected people or publicly to anyone. Please see:
and the subsequent pages listed in the sidebar.