Because if you have a valid visa, then you can enter and leave China with the flight ticket without problem. It seems like you don't have a Canadian identification.
Normally you can get a US visa that long if you are already a landed immigrant and that visa is still valid when you become Canadian Citizen. The visa is always a B1/B2 in that case.