There are many ways that someone could be a dual citizen of Canada and the United States, and there are actually many thousands of people who are dual citizens of these countries, including me.
1) Both Canada and the U.S. follow a "citizen by birth" rule. Essentially, anyone born in the U.S. is an American citizen, and anyone born in Canada is a Canadian.
2) Both Canada and the U.S. permit people to have citizenship by descent. So if an American person has a baby in Canada, the baby will be American by virtue of having an American parent. The baby will also be Canadian by virtue of having been born in Canada (as per point #1, above). The same situation would apply if a Canadian went to the U.S. and had a child there.
3) Both Canada and the U.S. permit citizenship by the process called "naturalization." Once someone completes certain residency requirements in either the U.S. or Canada, that person can apply for citizenship in whichever country he/she is living. So if an American gets transferred to a job in Canada and ends up living there for several years, that American could apply for Canadian citizenship. The same is true if a Canadian moves to the U.S. and lives there for a certain number of years. For instance, if a Canadian got married to an American and moved to the U.S., then that Canadian could eventually apply for U.S. citizenship after a few years of permanent residency in the U.S.
Both Canada and the U.S. also recognize dual citizenship. Anyone who states otherwise is on this message board is incorrect. It is true that some countries will take away citizenship when their citizens acquire the citizenship of another nation. However, neither Canada nor the U.S. follow that idea. So if an American moves to Canada and acquires Canadian citizenship, that American is still considered a U.S. citizen in the eyes of the U.S. government.
Personal experience. You can also read more about nationality laws at: