If you cancel your card, you can still be billed. That surprised me, too.
If you (a merchant) get an AUTH code for a billing, that should mean that the card exists and has sufficient funds (but doesn't guarantee payment). Actually, it means nothing, because a bank can decide to "stand in" for another bank and give an AUTH code even though no-one even checked that the card exists. I know this because I've had billings reversed because the "card doesn't exist" even though I had an AUTH code.
Speaking to somone in the bank about AUTH codes, he told me that they are always six digits. Cobblers. They are always six alphanumeric characters, but not always six digits. And I wouldn't even rely on the six.
You see your card number as a password to your money. The banks don't - they see it as an account number. That's why, although banks keep telling us to change our passwords frequently (and even enforce this), they don't change your card number, even when you get a new card because the old one expired.
So is there a password? Well .... no. I can bill a card without knowing the three digits on the back of the card, and without knowing a four-digit PIN number, and without me having physical access to the chip embedded in it. This isn't because I'm doing anything clever, it's just the way it is. So - you need to keep your credit card number as secret as a password, even though the banks don't see it that way.
Some of the digits on your card are well-known. For example, it you're a Barclays customer, the first four digits of your card are 4929. So if someone knows (or guesses) that you're a Barclaycard holder and tells you the first four numbers on your card, that proves nothing whatsoever, and you shouldn't assume that they know the rest.
Banks randomly decline your attempts to spend your money. They have a "fraud-detection" system, which seems to go off without any obvious reason, leaving you embarrassed in front of whoever you were about to pay. You can see why they do this, and they think it's a great idea, but when you're trying to explain to a headwaiter why you can't pay your dinner bill, it's not so funny. That's why I always carry enough cash hidden somewhere (I'm not going to tell you where) in case that happens to me while I'm buying petrol or something.
Gift cards can be a problem. There can be unexpected charges levied, so things cost a bit more than you expected when you use it, there's lots of situations where gift card just don't work, and some of them have an expiry, so that if you haven't spent every single penny of the money, it goes back into the bank's pockets. Oh, and if the gift card comes from a company that goes into administration or bankrupcy, you lose the lot.
When I phone my bank to talk to them about stuff, they want to take me through a security check, to verify that I really am me. Usually, they ask for the sort code of my bank and my account number. The reason why this is stupid, is that everyone I've ever sent a cheque to, has this information. It's not a secret.
And one very very good thing about credit cards. If someone, anyone, bills your card and you know that this was fraudulent, you tell your bank, you fill in a form that swears to this, and you get a full refund. It's called a "chargeback", and the money is snatched back from the people who billed you.